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

问题描述 投票:10回答:3

在我从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            

如何解决此版本冲突?

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

visual-studio reference nuget uwp
3个回答
10
投票

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

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

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


9
投票

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

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

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


2
投票

在我的情况下,我选择了“任何CPU”选项,因此它为两个版本编译了相同的库。选择x64解决了我的问题。

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