环境准备
1. 安装.NET 8 SDK
-
访问 .NET官网
-
下载并安装.NET 8 SDK(需包含MAUI组件)
-
验证安装:
dotnet --list-sdks
2. 安装VSCode
-
安装必要扩展:
-
C# Dev Kit
-
MAUI Extension (由Microsoft提供)
-
.NET Extension Pack
-
3. 安装MAUI工作负载
# 管理员权限运行
dotnet workload install maui
-
验证安装:
dotnet workload list
输出应包含:
已安装的工作负载 ID 清单版本 安装源文件 -------------------------------------------------- maui 8.0.100/8.0.100 SDK 8.0.400 maui-windows 8.0.100/8.0.100 SDK 8.0.400
4. Windows平台依赖
-
启用开发者模式:
powershell
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" -Name "AllowDevelopmentWithoutDevLicense" -Value 1
-
安装Windows App SDK 1.3+
-
安装最新Windows SDK
winget install Microsoft.WindowsSDK.10.0.22000
创建MAUI项目
1. 新建项目
powershell:
dotnet new maui -n HellowWorld
cd MauiWinApp
创建项目时候会创建.csproj, .xaml, .cs, .sln等文件。
2. 配置Windows平台
修改.csproj
文件:
xml
<PropertyGroup>
<TargetFrameworks>net8.0-windows</TargetFrameworks>
<SupportedOSPlatformVersion>10.0.17763.0</SupportedOSPlatformVersion>
</PropertyGroup>
不编译Android app的话,可以把net8.0-android;net8.0-ios;net8.0-maccatalyst去掉或者移到下面的注释块里。![]()
3. 恢复依赖包
powershell:
dotnet restore
配置VSCode调试环境
1. 创建调试配置
在.vscode/launch.json 中添加:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Windows",
"type": "coreclr",
"request": "launch",
"program": "${workspaceFolder}/bin/Debug/net8.0-windows/win10-x64/MauiWinApp.exe",
"args": [],
"cwd": "${workspaceFolder}",
"preLaunchTask": "build"
}
]
}
2. 配置构建任务
在.vscode/tasks.json
中添加:
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": [
"build",
"--configuration",
"Debug",
"-t:Run",
"-f",
"net8.0-windows"
],
"problemMatcher": "$msCompile"
}
]
}
开发调试步骤
-
创建MAUI界面
编辑MainPage.xaml:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" Title="MAUI Windows App"> <VerticalStackLayout> <Label Text="Hello MAUI Windows!" FontSize="32" HorizontalOptions="Center" /> <Button Text="Click Me" Clicked="OnButtonClicked" HorizontalOptions="Center"/> </VerticalStackLayout> </ContentPage>
-
添加事件处理
编辑MainPage.xaml.cs
:private void OnButtonClicked(object sender, EventArgs e) { DisplayAlert("Message", "Hello from MAUI!", "OK"); }
-
运行调试
dotnet build -t:Run -f net8.0-windows
-
按F5启动调试
-
或终端执行:
-
打包部署
-
发布应用
dotnet publish -c Release -f net8.0-windows --sc -p:WindowsPackageType=Msix
-
生成安装包
安装包路径: bin/Release/net8.0-windows/win10-x64/publish/
常见问题解决
-
MAUI模板找不到
dotnet new install Microsoft.Maui.Templates
-
Windows目标不可用
dotnet workload install maui-windows
-
XAML预览问题
安装XAML Language Support
扩展 -
如果遇到
maui workload not found
错误:# 更新工作负载 dotnet workload update # 修复安装 dotnet workload repair
开发建议
-
使用Hot Reload功能:
dotnet watch build -t:Run -f net8.0-windows
-
推荐安装扩展:
-
C# XML Documentation Comments
-
Output Colorizer
-
-
调试技巧:
-
在
launch.json
中添加:
"logging": { "moduleLoad": true }
-
-
推荐在
launch.json
中添加环境变量:"environmentVariables": { "DOTNET_MAUI_RUNTIME": "windows" }
-
启用详细构建日志:
dotnet build -v diag
本文包含从环境搭建到打包部署的完整流程,使用VSCode开发MAUI Windows应用需要注意Windows目标的配置和调试环境的设置。建议定期更新.NET MAUI工作负载以获取最新功能。