2016-07-26 51 views
5

後,我從的NuGet加2個庫項目中,我收到如下錯誤:載荷包含兩個或多個文件具有相同目的地的路徑「System.Diagnostics.Tools.dll」

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項目。

+0

您是否參考了一些預發佈nuget軟件包? – Jackie

+0

我添加2個引用到2個不同的庫,它們被編譯成不同的版本。這不應該是非常奇特的。應該有一個通用的構想來解決這些衝突。 – Horcrux7

+0

也許你可以考慮降級一個你引用的庫。我看到相同的錯誤引用System.Net.Sockets 4.1.0。但是,降級到4.0.0後,一切正常。 – Jackie

回答

8

該問題已解決它自我。最新版本的Microsoft.NETCore.UniversalWindPlatform的更新解決了它。

看起來庫A是針對版本5.1.0編譯的,庫B是針對版本5.2.2編譯的。由於我的項目是5.1.0版本,所以存在衝突情況。我不明白爲什麼我切換UWP版本時沒有衝突。

如果我使用庫B與舊的UWP版本,也沒有衝突。

+0

我有完全相同的問題。相同的DLL。相同的5.1.0/5.2.2衝突。令我驚訝的是,這個版本的不匹配在Visual Studio/nuget中沒有解決,通過在包安裝/恢復時將Microsoft.NETCore.UniversalWindowsPlatform更新到5.2.2來解決。 –

1

爲了防止其他人遇到相同的錯誤 - 「Payload包含兩個或多個具有相同目的地路徑的文件...」 - 這可能是由與NuGet迷宮有關的各種原因引起的包,這種NuGet相關錯誤的一個補救措施是clearing the cache,或簡單地刪除有問題的NuGet包文件夾:C:\ Users \ user \ .nuget \ packages \

這是基於我自己的處理類似錯誤的經驗,特別的一個。

+0

我也這麼認爲,這只是一個幫助我的東西,但是我在包裝版本不兼容方面得到了其他差異 – W0RT4

+0

@ W0RT4當我構建一個UWP應用程序的發佈版本時,它會重複發生。我現在只刪除C:\ Users \ user \ .nuget \ packages \ microsoft.netcore.portable.compatibility,並且它始終有效。我需要找到一個永久的解決方案。 – Hong

相關問題