WinUI3 应用程序上出现错误 NETSDK1152:发现多个具有相同相对路径的发布输出文件:Microsoft.Web.WebView2.Core.dll

Mla*_*rić 4 c# webview winui winui-3 .net-7.0

  1. 安装了 Visual Studio 2022(在全新的 Windows 11 安装上),安装了 Template Studio for WinUI (v5.3)。
  2. 使用 Template Studio 使用以下设置创建了一个项目:
- Project type:         Navigation pane
- Design pattern:       MVVM Toolkit
- Pages (Blank pages):
    * Page1
    * Page2
    *
    *
    * Settings page
- Features:
    * Settings Storage  added
    * MSIX Packaging    added
    * Self-Contained    added
    * App Notifications added
    * Theme Selection   added
- Testing: MSTest       not added
Run Code Online (Sandbox Code Playgroud)
  1. 安装了 Microsoft.EntityFrameworkCore.SqlServer (以连接到我的 SQL Server)。

  2. 安装 Microsoft.EntityFrameworkCore.SqlServer (最新稳定版 7.0.4)后,立即尝试运行应用程序,出现以下错误:

Found multiple publish output files with the same relative path:
D:\07_PROJECTS\Kratos365\Kratos365\obj\x64\Debug\net7.0-windows10.0.19041.0\win10-x64\MsixContent\Microsoft.Web.WebView2.Core.dll,
C:\Users\mladen\.nuget\packages\microsoft.web.webview2\1.0.864.35\lib\netcoreapp3.0\Microsoft.Web.WebView2.Core.dll
Kratos365 C:\Program Files\dotnet\sdk\7.0.202\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ConflictResolution.targets   112
Run Code Online (Sandbox Code Playgroud)

我确实注意到在安装 Microsoft.EntityFrameworkCore.SqlServer 时 Microsoft.Web.WebView2(版本 1.0.864.35)已安装,如以下屏幕截图所示:

截屏

但我猜测(从错误中)项目文件夹中的 MSIX 打包中有 Microsoft.Web.WebView2 的另一个版本。

我尝试过的:

  1. 我尝试将以下属性添加到我的 .csproj 文件中,正如此答案中所建议的那样
<PropertyGroup>
 <ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

但这给了我以下错误:

Payload contains two or more files with the same destination path 'Microsoft.Web.WebView2.Core.dll'. Source files:
D:\07_PROJECTS\Kratos365\Kratos365\obj\x64\Debug\net7.0-windows10.0.19041.0\win10-x64\MsixContent\Microsoft.Web.WebView2.Core.dll
C:\Users\mladen\.nuget\packages\microsoft.web.webview2\1.0.864.35\lib\netcoreapp3.0\Microsoft.Web.WebView2.Core.dll
Kratos365 C:\Users\mladen\.nuget\packages\microsoft.windowsappsdk\1.2.230313.1\buildTransitive\Microsoft.Build.Msix.Packaging.targets   1504    

Run Code Online (Sandbox Code Playgroud)
  1. 我尝试从项目文件夹中删除“bin”和“obj”文件夹并重建解决方案,但这给了我一些其他错误。

  2. 我尝试卸载(“开始”菜单 > 右键单击​​它,卸载),然后在尝试再次部署之前清理 Visual Studio 中的解决方案,如此处答案中的建议

此时,我尝试了所有可以在网上找到的方法 - 在这里发布问题是我最后的手段

这可能是 WinUI / Microsoft.EntityFrameworkCore.SqlServer 的一些奇怪的 Template Studio 冲突吗?

Mla*_*rić 5

最后的解决方案是将Microsoft.EntityFrameworkCore.SqlServer NuGet Package 从最新稳定版 7.0.4 降级到 6.0.15。

任何包含 Microsoft.Web.WebView2 的 6.0.15 以上版本(7.0.0;7.0.1;7.0.2;7.0.3;7.0.4)都会出现错误:发现多个发布输出文件具有相同的相对路径

我认为这是来自 Template Studio for WinUI 和 Microsoft.EntityFrameworkCore.SqlServer NuGet 包中的 MSIX 打包的某种 Microsoft.Web.WebView2 版本冲突。