Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Payload contains two or more files with the same destination path 'System.Diagnostics.Tools.dll'

After I add 2 libraries from Nuget to my project I receive follow error:

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            

How can I solve this version conflict?

I have only a very small single UWP project.

like image 342
Horcrux7 Avatar asked Jul 26 '16 15:07

Horcrux7


Video Answer


3 Answers

The problem has solve it self. An update to the latest version of Microsoft.NETCore.UniversalWindowsPlatform has solved it.

It look like that library A was compiled against version 5.1.0 and library B was compiled against version 5.2.2. Because my project was on version 5.1.0 there was a conflict situation. I does not understand why I have no conflict if I switch the UWP version.

If I use the library B with the old UWP version there was also no conflict.

like image 63
Horcrux7 Avatar answered Oct 13 '22 01:10

Horcrux7


Just in case it may be useful to others encountering the same error - "Payload contains two or more files with the same destination path..." - which can be caused by a variety of reasons related to the labyrinth of NuGet packages, one remedy for such NuGet related errors is clearing the cache, or simply deleting the problematic NuGet package folder: C:\Users\user\.nuget\packages\

This is based on my own experience of dealing with similar errors including this particular one.

Edit (2018-07-22): I have been having good luck in dealing with this and similar problems by simply restarting Visual Studio. Probably Microsoft is getting to this bug finally. I get this kind of problems only when building a release version.

like image 36
Hong Avatar answered Oct 13 '22 00:10

Hong


In my case, I had "Any CPU" option selected so it was compiling the same library for both versions. Selecting x64 solved the problem for me.

like image 6
Usman Afzal Avatar answered Oct 12 '22 23:10

Usman Afzal