web-dev-qa-db-ja.com

ファイルまたはアセンブリ 'Newtonsoft.Json、Version = 10.0.0.0'をロードできませんでした-binフォルダーにバイナリが存在します

私はここでかなり単純なことをしようとしています、そしてそれを数時間続けてきました。ほとんどすべてのオプションを使い果たしたような気がします。

私がやろうとしているのは:JsonConvert.SerializeObject(model)

ただし、結果のエラーは次のとおりです。

スローされた例外:mscorlib.dllの「System.IO.FileLoadException」

追加情報:ファイルまたはアセンブリ 'Newtonsoft.Json、Version = 10.0.0.0、Culture = neutral、PublicKeyToken = 982hs0cm1kd'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)

ただし、私のプロジェクトでは、バージョン10.0.0.0を参照しています。具体的には、10.0.2.0。プロジェクトのbinフォルダーを確認したところ、10.0.2.0 dllが存在することを確認できました。 packages.configには<package id="Newtonsoft.Json" version="10.0.2" targetFramework="net452" />があります

私が試したこと:

  1. プロジェクトからbin/objフォルダーを手動で削除して再構築する
  2. Web.Configファイルを手動で変更して、バインディングリダイレクトの正しいバージョンを確認します。
  3. 参照プロパティ「特定のバージョン」をFalseに更新
  4. C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/rootのすべてのファイルを手動で削除します

私は本当にここで立ち往生しており、これを修正するためのさまざまなアプローチを見つけたので、これは一般的な問題であることがわかりますが、これまでのところどれも機能していません。

何か案は?

11
Tabrock

パッケージマネージャーコンソールで、Update-Package –reinstall Newtonsoft.Jsonを実行します。

ソース

ちょうど同じような問題があった。私のWebサイトと参照プロジェクト(アセンブリでも同じだと思います)はどちらもNewtonsoft.Jsonを必要としましたが、バージョンが少し異なりました。

Webサイトが勝っていたため、サイトにはそのバージョンがインストールされており、参照されたアセンブリは「それ」のバージョンを読み込めませんでした。

すべてのプロジェクトが同じバージョン(ソリューションのNuGetパッケージの管理)であり、機能することを確認しました。

2
Drew