SuperAPI AI 工具集

winui-dev-workflow

办公与效率

查看项目

更新于 10-16 00:32

技能介绍

用途:围绕 WinUI 3 应用提供创建、构建、运行和修复构建错误的工作流,需配合 WinApp CLI 0.7+。范围仅限 WinUI 3 应用;引用 Windows App SDK(如通知、打包)的 WPF、WinForms、Electron 等不属于 WinUI 应用,除非任务本身是迁移到 WinUI 3。WinUI 3 项目具有 <UseWinUI>true</UseWinUI> 或使用 Microsoft.UI.Xaml。

创建或打开项目:新应用可用 winapp new --name <AppName> --template winui-mvvm --template-version latest --use-defaults 生成脚手架,随后 cd <AppName>;winapp new --list 可查看已安装模板的短名,不要单独安装模板包,也不要先手动创建输出目录。已有应用应阅读 .csproj,了解 TargetFramework、PackageReference 版本以及项目结构与既有模式。

分析器与 API 查询:为每个应用项目添加最新稳定版分析器 dotnet add .\MyApp.csproj package Microsoft.Windows.SDK.BuildTools.WinUIAnalyzer,保留 PrivateAssets="all";若包不可用则继续并告知相关检查未运行。其他包默认取最新稳定版,除非项目有版本策略或用户指定;编码前可用 winapp find-api 配合 --project-dir 或 --project 查询 API。

构建与运行:普通运行用 winapp run . --detach --json,走构建/JIT 路径,即使 -c Release 也不验证 Native AOT;UI 测试参见 winui-ui-testing。构建失败时读取全部错误、一次性批量修复后重跑同一命令。Native AOT 发布需在项目设置 <PublishAot>true</PublishAot>,或一次性传 -p PublishAot=true;--aot 执行发布而非构建,需选择本机可运行的 --arch x64 或 arm64,并修复而非抑制 IL/CsWinRT 警告。

崩溃诊断:用 --debug-output 附加运行并以 mode: "async" 调用,可暴露 0x8000FFFF / E_FAIL 背后的真实 XAML 错误,--symbols 可提供更完整的本机帧;该选项不能与 --json 或 --no-launch 组合。常见错误包括未启用开发者模式、缺少类型、需要 Windows TFM、XAML 类型或绑定路径缺失、绑定不更新、应用静默退出、XAML 编译器崩溃、包安装失败与平台目标错误等,资料给出了对应处理方式。

前提条件:Windows 10 v1903+ 及应用的系统要求、启用开发者模式、.NET SDK 8.0.100 最低加应用 TFM 所需 SDK、WinApp CLI 0.7+;仅 Native AOT 需要 MSVC C++ 生成工具。始终优先打包模式并使用项目模式 winapp run 激活,不要删除 Package.appxmanifest,禁止使用 AnyCPU,应使用 x64 或 ARM64。