该技能用于 WinUI 3 应用的构建与运行,要求 WinApp CLI 0.7 及以上。
创建项目:执行 winapp new --name <AppName> --template winui-mvvm --template-version latest --use-defaults,再进入目录;可用 winapp new --list 查看已安装模板简称。无需单独安装模板包,也不要预先建立输出目录。已有项目则先阅读 .csproj,了解 TargetFramework、PackageReference 版本(WindowsAppSDK、CommunityToolkit)与项目结构。
分析器:为每个应用项目添加 dotnet add .\MyApp.csproj package Microsoft.Windows.SDK.BuildTools.WinUIAnalyzer,并保留 PrivateAssets="all"。该包不会由 WinApp CLI 注入;若不可用,可继续但需告知用户相关运行时检查未执行。编码前用 winapp find-api(--project-dir 或 --project)确认 API。
构建运行:使用 winapp run . --detach --json;普通运行走 JIT 路径,即使 -c Release 也不验证 Native AOT。构建失败时先读全部错误、一次性批量修复后重跑同一命令。AOT 发布需设置 PublishAot 或传 -p PublishAot=true,并用 --aot -c Release --arch <x64|arm64>,应修复而非抑制 IL/CsWinRT 警告。
诊断:附加运行并加 --debug-output,以 mode:"async" 调用;崩溃时用 stowed-exception 定位真实 XAML 错误,可加 --symbols。该选项不能与 --json 或 --no-launch 共用。
限制与常见错误:需 Windows 10 v1903+、开发者模式、.NET SDK 8.0.100 起及对应 TFM 的 SDK;AOT 另需 MSVC C++ 生成工具。始终使用 x64 或 ARM64,禁止 AnyCPU;保持打包为默认,不要删除 Package.appxmanifest;除非明确要求非打包调试实验,否则不设 WindowsPackageType=None。