Payload包含两个或多个具有相同目标路径的文件'System.Diagnostics.Tools.dll'

Hor*_*ux7 11 reference visual-studio nuget uwp

在我从Nuget添加2个库到我的项目后,我收到以下错误:

Error       Payload contains two or more files with the same destination path 'System.Diagnostics.Tools.dll'. Source files: 
C:\Users\Horcrux7\.nuget\packages\runtime.any.System.Diagnostics.Tools\4.0.1\lib\netcore50\System.Diagnostics.Tools.dll
C:\Users\Horcrux7\.nuget\packages\System.Diagnostics.Tools\4.0.0\lib\netcore50\System.Diagnostics.Tools.dll App1            
Run Code Online (Sandbox Code Playgroud)

如何解决此版本冲突?

我只有一个非常小的单一UWP项目.

Hor*_*ux7 12

这个问题已经解决了.对最新版本的Microsoft.NETCore.UniversalWindowsPlatform的更新已经解决了它.

看起来库A是针对版本5.1.0编译的,而库B是针对版本5.2.2编译的.因为我的项目是在5.1.0版本上,所以存在冲突情况.如果我切换UWP版本,我不明白为什么我没有冲突.

如果我使用旧的UWP版本的库B,也没有冲突.


Hon*_*ong 10

以防万一其他人遇到相同的错误 - "Payload包含两个或多个具有相同目标路径的文件......" - 这可能是由于与NuGet包的迷宫有关的各种原因造成的,一种补救措施对于这样的NuGet相关错误是清除缓存,或者只是删除有问题的NuGet包文件夹:C:\ Users\user\.nuget\packages \

这是基于我自己处理类似错误的经验,包括这个错误.

编辑(2018-07-22):通过简单地重新启动Visual Studio,我一直很好地处理这个和类似的问题.微软最终可能会遇到这个问题.我只在构建发布版本时遇到这种问题.

  • @ W0RT4当我构建UWP应用程序的发布版本时,它反复出现.我现在只删除C:\ Users\user\.nuget\packages\microsoft.netcore.portable.compatibility,它总是有效.我需要找到一个永久的解决方案. (4认同)

小智 6

就我而言,我选择了“任何 CPU”选项,因此它为两个版本编译相同的库。选择 x64 为我解决了这个问题。