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

WinUI3应用遇NETSDK1152错误:重复发布Microsoft.Web.WebView2.Core.dll

Template Studio for WinUI与Microsoft.EntityFrameworkCore.SqlServer的WebView2文件冲突问题

是的,这个发布错误确实是Template Studio for WinUI的MSIX打包配置与Microsoft.EntityFrameworkCore.SqlServer依赖包的冲突导致的。

冲突原因

Template Studio在启用MSIX打包功能时,会自动将WebView2运行时相关文件(包括Microsoft.Web.WebView2.Core.dll)放入项目的obj\MsixContent目录,用于WinUI应用的运行时依赖;而安装Microsoft.EntityFrameworkCore.SqlServer 7.0.4版本时,会自动引入Microsoft.Web.WebView2 1.0.864.35这个NuGet包,该包也会输出同名的Microsoft.Web.WebView2.Core.dll文件到发布目录,两者路径完全一致,触发了重复文件检测错误。

可行解决方法

1. 排除NuGet包中的重复文件

在项目的.csproj文件中添加以下配置,让MSIX打包时忽略NuGet包带来的重复文件,保留Template Studio生成的MSIX专属WebView2文件:

<ItemGroup>
  <Content Remove="Microsoft.Web.WebView2.Core.dll" />
  <None Include="Microsoft.Web.WebView2.Core.dll">
    <CopyToOutputDirectory>Never</CopyToOutputDirectory>
  </None>
</ItemGroup>

2. 统一WebView2包版本

查看Template Studio生成项目中WebView2的实际版本(可通过obj\MsixContent目录下文件的版本信息,或项目依赖项中的WebView2版本确认),手动安装对应版本的Microsoft.Web.WebView2包,覆盖EF自动安装的旧版本:

Install-Package Microsoft.Web.WebView2 -Version [Template Studio使用的版本号]

版本统一后,两个来源的文件完全一致,不会触发重复检测错误。

为什么之前的尝试无效

  • 设置<ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles>只是屏蔽了错误提示,但MSIX打包时的文件重复会导致后续签名、部署环节失败,无法根本解决问题。
  • 删除bin/obj目录重建只是清理了缓存文件,但项目依赖关系未改变,构建时仍会生成重复文件,因此问题依旧。

内容的提问来源于stack exchange,提问作者Mladen Gavrić

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 17:22:42