2016-07-26 5 views
5

私は私のプロジェクトにNugetから2つのライブラリを追加した後、私は次のエラー受け取る:私はこの問題を解決するにはどうすればよいペイロードは、同じ宛先パスを持つ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

プレリリースのナゲットパッケージを参照していますか? – Jackie

+0

私は2つの異なるライブラリに2つの参照を追加します。異なるライブラリは異なるバージョンで再びコンパイルされます。これはあまりエキゾチックではありません。この矛盾を解決するための一般的な構成が必要です。 – Horcrux7

+0

参照しているライブラリの1つをダウングレードすることを検討することもできます。同じエラー参照System.Net.Sockets 4.1.0が表示されています。しかし、4.0.0にダウングレードした後、すべて正常に動作します。 – Jackie

答えて

8

問題が解決しました。 Microsoft.NETCore.UniversalWindowsPlatformの最新バージョンへのアップデートにより解決されました。

ライブラリAはバージョン5.1.0に対してコンパイルされ、ライブラリBはバージョン5.2.2に対してコンパイルされたようです。私のプロジェクトはバージョン5.1.0だったので、紛争の状況がありました。 UWPのバージョンを切り替えると、なぜ私は矛盾がないのか分かりません。

古いUWPバージョンでライブラリBを使用しても、競合は発生しませんでした。

+0

私は全く同じ問題を抱えていました。同じDLL。同じ5.1.0/5.2.2の競合。私は、このバージョンの不一致がVisual Studio/nugetによってパッケージのインストール/復元時に5.2.2にMicrosoft.NETCore.UniversalWindowsPlatformを更新することで解決されないことに驚きました。 –

1

NuGetの迷路に関するさまざまな理由が原因で発生する可能性がある同じエラーが発生した場合、「ペイロードには同じ宛先パスを持つ複数のファイルが含まれています...」というエラーが発生した場合に役立ちますこのようなNuGet関連のエラーの救済策の1つはclearing the cacheです。問題のあるNuGetパッケージフォルダを削除するだけです。C:\ Users \ user \ .nuget \ packages \

これは、これを含む私自身の経験に基づいています特定のもの。

+0

私は同じ考えをしていますが、私は何を助けてくれるのですか?パッケージのバージョンの非互換性よりもパスに違いがあります – W0RT4

+0

@ W0RT4 UWPアプリケーションのリリースバージョンをビルドすると繰り返し発生します。私は今C:\ Users \ user \ .nuget \ packages \ microsoft.netcore.portable.compatibilityだけを削除し、常に動作します。私は恒久的な解決策を見つける必要があります。 – Hong

関連する問題