私はローカルでうまく動作するC#アプリケーションを持っています。他の多くのC#プロジェクトに依存しています。ファイルまたはアセンブリをロードできませんでした「Newtonsoft.Json、バージョン= 4.5.0.0:私は実行時にDLLロードが失敗する
System.IO.FileLoadExceptionを示すエラーを取得することを実行したら、私は右、クリックして公開し、setup.exeを取得すると、Culture =ニュートラル、PublicKeyToken = 30ad4fe6b2a6aeed 'またはその依存関係の1つ。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)
ファイル名: 'Newtonsoft.Json、バージョン= 4.5.0.0、文化=中立、なPublicKeyToken = 30ad4fe6b2a6aeed'
これは、特に私のTwitterのプロジェクトから来ています。 twitterプロジェクトは参照していません4.5.0.0 6.0.0.0を参照してください
私はどこでも4.5.0.0への参照を見つけることができません..それはjsonを持ってtweetsharp-unofficial 2.3.1.2(https://github.com/timothy-makarov/tweetsharp)を使用しています。ネットの依存関係はありませんが、私は明示的に参照しています。
これはどうやって起こっているのか?
ありがとうございます!
これは、異なるプロジェクトが同じnugetパッケージの異なるバージョンを参照する多くのことを起こるです。すべてのプロジェクトが同じソリューション内にある場合、あなたはnugetパッケージマネージャを開き、統合タブに移動し、それが不一致のバージョンを表示することができ、あなたのTwitterのプロジェクトの参照が4.5.0.0 – GBreen12
を使用しなければならないプロジェクトの一つ。 GBreen12 @ – GBreen12
は、私はあなたの声明に同意しません。* "これは、異なるプロジェクトが同じナゲットパッケージの異なるバージョンを参照する場合に発生します" *。これはランタイムエラーです.Nugetを使用するかどうかにかかわらず、独立して発生する可能性があります。あるプロジェクトがdllのv1を参照し、第2のプロジェクトを参照して同じdllのv2を参照する場合もあります。この場合、エラーは2つの異なるバージョンについて何か言います。プロジェクトが接続されていない場合、最後にビルドされたプロジェクトは単にbin内のdllを上書きし、実行時にはエラーが発生します。多くはここの状況によります。 –