如何将WinUI3项目发布为EXE文件?部署报错该如何解决?
WinUI 3 非打包模式生成独立EXE的问题解决方法
一、修正项目核心配置
- 先确认你的项目是WinUI 3 in Desktop类型,而非UWP打包项目。如果是UWP类型,建议迁移代码到桌面项目模板。
- 打开项目的
.csproj文件,确保配置完整且正确,补充必要属性:<WindowsPackageType>None</WindowsPackageType> <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained> <OutputType>WinExe</OutputType> <TargetFramework>net6.0-windows10.0.19041.0</TargetFramework> <!-- 替换为你项目的目标框架版本 --> <UseWinUI>true</UseWinUI> - 删除任何与UWP打包相关的配置节点,比如
<PackageProjectType>Bundle</PackageProjectType>。
二、调整调试设置
- 打开项目属性的「调试」选项卡:
- 将「启动」选项设置为项目,不要选「部署包」。
- 确认「部署」选项已勾选(你已开启,再次核对)。
- 执行清理操作:菜单→生成→清理解决方案,然后手动删除项目根目录下的
bin和obj文件夹,重新生成项目。
三、替代发布方案:用Visual Studio发布向导
- 右键项目→选择「发布」:
- 目标选择「文件夹」,点击下一步。
- 配置选
Release,勾选「自包含」,目标运行时选对应系统架构(比如win-x64)。 - 点击「发布」,完成后输出文件夹里会生成独立EXE和所有依赖库,直接运行即可。
四、排查潜在问题
- 检查项目是否引用了UWP专属API或NuGet包,这类依赖会导致非打包模式失效,需替换为桌面兼容的替代方案。
- 确认Windows App SDK版本与项目目标框架匹配,建议使用1.4及以上的稳定版SDK。
内容的提问来源于stack exchange,提问作者Sciencekill
相关产品推荐
相关产品推荐

