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

问题描述 投票:0回答:3
  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
  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

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

Screenshot

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

我尝试过的:

  1. 我尝试将以下属性添加到我的 .csproj 文件中,正如这里答案
  2. 中所建议的那样
<PropertyGroup>
 <ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles>
</PropertyGroup>

但这给了我以下错误:

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    

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

  2. 我尝试卸载(“开始”菜单 > 右键单击它,卸载),然后在尝试再次部署之前在 Visual Studio 中清理解决方案,如这里 answer here

    中的建议

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

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

c# webview winui-3 .net-7.0 winui
3个回答
6
投票

最后解决方案是将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)都会吐出

错误 发现多个具有相同相对关系的发布输出文件路径

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


0
投票
我遇到了同样的问题,我的解决方案是将项目属性中的 EnableMsixTooling 条目从 true 更改为 false。我不知道这是否只是因为 WindowsAppSDKSelfContained 设置为 true 而发生。 因此,尝试一下这些选项,也许它可能是您的解决方案。

<EnableMsixTooling>false</EnableMsixTooling> <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>
    

0
投票
对于我来说

真实 假

解决了问题

© www.soinside.com 2019 - 2024. All rights reserved.