【问题标题】:Payload contains files with the same destination path有效负载包含具有相同目标路径的文件
【发布时间】:2019-04-01 22:15:18
【问题描述】:

我已经构建了一个 UWP 应用程序,直到最近它一直在工作。虽然最近我在为 Release 编译时遇到了错误。

Payload contains two or more files with the same destination path 'System.Runtime.CompilerServices.Unsafe.dll'. Source files: 
C:\Users\Cj\.nuget\packages\runtime.win10-x64-aot.microsoft.netcore.universalwindowsplatform\6.2.0-preview1-26926-04\runtimes\win10-x64-aot\lib\uap10.0.15138\System.Runtime.CompilerServices.Unsafe.dll
C:\Users\Cj\.nuget\packages\system.runtime.compilerservices.unsafe\4.5.1\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll

这种异常不言自明,除了我不知道是什么包调用了该文件,也不知道如何解决这个问题。我找到了不适合我的情况的不同库的答案。另一个在构建属性中说“取消选中使用 .NET Native 工具链编译”,但是在为商店构建时不会生成 .appxupload 包。

这些是已安装的软件包 (https://imgur.com/a/KaUqdIw)

我已经更新了所有这些包,除了

  • Newtonsoft.Json
  • Win2d.uwp

感谢您的帮助。 谢谢

编辑 - 添加信息

我还应该声明,应用程序还引用了一个 .Net Core DLL。

【问题讨论】:

  • 清理 Nuget 缓存有帮助吗? docs.microsoft.com/en-us/nuget/consume-packages/…
  • 刚刚测试过了。不幸的是,在构建时仍然会遇到问题。
  • 您的 Visual Studio 构建版本是什么?从内部渠道咨询时,我得到了一些有关已知问题的信息,该问题已在最新的 Visual Studio 中得到解决。那么你能确保你首先使用的是最新的 Visual Studio 吗?
  • 感谢您继续努力。我总是试图让我的 Visual Studio 保持最新。我目前拥有的版本是VS2017 v15.8.8。这是“关于”窗口的链接 - imgur.com/a/Y6NwgOG
  • 嗯嗯嗯。你也可以直接向DC举报吗?

标签: c# uwp nuget xamarin.uwp


【解决方案1】:

我相信我找到了导致异常的 NuGet 包。它似乎是 Microsoft.NETCore.UniversalWindowsPlatform 包。

当包更新到 6.2.0 预览版时,出现异常。当降级到最新的稳定版 6.1.9 时,异常不再发生/更改。

但是,在为 x86 构建时,出现了一个新异常,

ILT0005: 'C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\runtime.win10-x86.microsoft.net.native.compiler\2.1.8\tools\x86\ilc\Tools\nutc_driver.exe @"C:\Users\Cj\Documents\Project\GoMobile\Main Branch\GoMobile\GoMobile\GoMobile.UWP\obj\x86\Release\ilc\intermediate\MDIL\GoMobile.rsp"' returned exit code -1073740791

我不知道是什么导致了新的错误。包确实在以 x64 为目标时构建。

【讨论】:

  • 您能联系到 Microsoft dot com 的“dotnetnative”的 .NET Native 团队吗?如果这仅适用于 x86,则可能是优化器问题,并且可能可以解决您的问题(此外,我们希望在下一个版本中修复此问题)。
【解决方案2】:

我在升级到运行最新 VS2017 15.9.1 的最新版本 Microsoft.NETCore.UniversalWindowsPlatform 6.2.2 时看到相同的错误消息

Payload 包含两个或多个具有相同目标路径“System.Runtime.CompilerServices.Unsafe.dll”的文件。源文件: C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\runtime.win10-x86-aot.microsoft.netcore.universalwindowsplatform\6.2.2\runtimes\win10-x86-aot\lib\uap10.0.15138\System.Runtime。 CompilerServices.Unsafe.dll C:\Users\JM.nuget\packages\system.runtime.compilerservices.unsafe\4.5.1\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll

最新的通用包肯定有问题。

【讨论】:

    【解决方案3】:

    将 system.runtime.compilerservices.unsafe 包引用升级到 4.5.2 也解决了这个问题,同时让您继续使用最新的 Universalwindowsplatform 包。

    【讨论】:

    • 应该用我最后一个问题的答案更新 GitHub 问题。没错,我也在这里! :P
    猜你喜欢
    • 2019-03-19
    • 2016-11-30
    • 2017-08-25
    • 1970-01-01
    • 2018-10-03
    • 2016-12-14
    • 2021-10-21
    • 2018-06-29
    • 1970-01-01
    相关资源
    最近更新 更多