.NET6 WinUI应用通过dotnet cli构建提示Microsoft.DesktopBridge.props缺失
问题原因
你遇到的报错是因为dotnet build默认调用.NET SDK自带的MSBuild,而Microsoft.DesktopBridge.props属于Windows应用打包项目(WAP)的配套组件,仅随Visual Studio安装,存放在VS的MSBuild目录下,不存在于.NET SDK的目录结构中。Visual Studio构建时会自动加载自身路径下的组件,因此不会触发报错。
解决方案
方案1(推荐):使用Visual Studio自带的MSBuild构建
- 打开「Developer Command Prompt for VS 2022」(VS2022开发者命令提示符),该环境会自动配置好MSBuild相关路径变量
- 直接执行构建命令即可:
# 基础构建命令 msbuild 你的项目名.wapproj # 带配置参数的构建示例(Release x64) msbuild 你的项目名.wapproj /t:Build /p:Configuration=Release;Platform=x64
该方案完全对齐VS内部构建逻辑,不会出现后续依赖错误。
方案2:dotnet build 手动指定路径参数
如果需要使用dotnet CLI执行构建,可手动传入WapProjPath参数指定组件路径,注意替换为你本地VS的实际安装路径:
dotnet build 你的项目名.wapproj /p:WapProjPath="C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\DesktopBridge\"
查看VS构建执行命令的方法
- 打开Visual Studio,依次点击「工具」-「选项」-「项目和解决方案」-「生成并运行」
- 将「MSBuild项目生成输出详细程度」调整为「详细」或「诊断」
- 执行构建操作后,在「输出」窗口即可查看完整的MSBuild调用参数与执行流程。
注意事项
WAP项目的设计默认依赖Visual Studio的MSBuild环境,官方暂不支持纯dotnet SDK环境下的构建操作,优先使用VS自带的MSBuild可避免绝大多数兼容问题。
内容的提问来源于stack exchange,提问作者user1085665
相关产品推荐
相关产品推荐

