You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解决NETSDK1152:WinMD文件多发布输出路径冲突问题

解决NETSDK1152:多发布输出文件路径冲突问题

构建主项目DesktopWidgets3时触发NETSDK1152错误,提示Microsoft.Windows.Widgets.winmd文件路径冲突——工具项目DevHome.Dashboard的该文件被复制到主项目输出目录,与主项目MsixContent下的同名文件重复。需要保留工具项目对该winmd文件的使用,同时阻止其被复制到主项目。

问题原因

DevHome.Dashboard中将Microsoft.Windows.Widgets.winmd标记为Content类型并设置CopyToOutputDirectory="PreserveNewest",当主项目引用该工具项目时,默认会继承并复制这些内容文件到自身输出目录,导致与主项目已存在的同名文件冲突。

解决方案

方案1:标记工具项目的winmd文件为私有(推荐)

在DevHome.Dashboard.csproj中,给冲突的Content项添加Private="true",标记该文件为私有,不会被引用它的项目复制:

<ItemGroup>
  <Content Include=".\BuildAssets\Microsoft.Windows.Widgets.Internal.winmd" Link="Microsoft.Windows.Widgets.Internal.winmd" CopyToOutputDirectory="PreserveNewest" />
  <Content Include=".\BuildAssets\Microsoft.Windows.Widgets.winmd" Link="Microsoft.Windows.Widgets.winmd" CopyToOutputDirectory="PreserveNewest" Private="true" />
</ItemGroup>

该设置不会影响工具项目自身的构建和运行,仅阻止文件传递到引用项目。

方案2:在主项目中排除特定内容文件

修改DesktopWidgets3.csproj的ProjectReference,通过ExcludeAssets排除工具项目中的冲突文件:

<ItemGroup>
  <ProjectReference Include="..\Tools\DevHome.Dashboard\DevHome.Dashboard.csproj">
    <!-- 排除所有内容文件,或精确指定单个文件 -->
    <ExcludeAssets>ContentFiles</ExcludeAssets>
    <!-- 精确排除:<ExcludeAssets>..\Tools\DevHome.Dashboard\BuildAssets\Microsoft.Windows.Widgets.winmd</ExcludeAssets> -->
  </ProjectReference>
</ItemGroup>

如果上述设置无效,可直接在主项目中移除该文件的引用:

<ItemGroup>
  <Content Remove="Microsoft.Windows.Widgets.winmd" />
</ItemGroup>

方案3:调整工具项目的文件类型

由于工具项目已通过<Reference>节点引用Microsoft.Windows.Widgets.winmd用于编译,可将其从Content改为None,避免不必要的复制:

<ItemGroup>
  <Content Include=".\BuildAssets\Microsoft.Windows.Widgets.Internal.winmd" Link="Microsoft.Windows.Widgets.Internal.winmd" CopyToOutputDirectory="PreserveNewest" />
  <None Include=".\BuildAssets\Microsoft.Windows.Widgets.winmd" Link="Microsoft.Windows.Widgets.winmd" />
</ItemGroup>

此方式保留工具项目对该文件的编译引用,同时不再将其作为内容文件复制到输出目录,从根源避免冲突。


内容的提问来源于stack exchange,提问作者Jack Ye

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 21:43:13