私は自分のmvcプロジェクトで遊んでいます。Json.NET dllの異なるバージョンの参照
私はその依存関係の1つとして、順番にNewtonsoft.Json.dll 4.0.0.0(古い)を使用してプロジェクトにSocialAuth.Netというパッケージを、Nugeted。
私は自分自身もJson.Netを必要としていたので、新しいバージョン4.5.0.0(新しい)の新しいバージョン、So Nugeted Json.NETが必要でした。
問題が発生します。私のかみそりビューで "ViewBag.Title = ...." それは赤い下線が言っている:
Warning 1 c:\users\admin\documents\visual studio 2010\Projects\WebApp\WebApp\Views\Home\Index.cshtml: ASP.NET runtime error: Could not load file or assembly 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
これは私のweb.configファイルのJSONの一部です:だから
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
</dependentAssembly>
、
Newtonsoft.Jsonは4.0.0.0(おそらくSocialAuth.Netに付属しています)を削除して、Nugetから得た4.5.0.0のリファレンスを追加しました。
私はWebApp/bin/debug/folderに入ってすべてを削除して、プロジェクトを再ビルドしました。
あなたはこのDLLの問題に対処する方法がありますか?ありがとうございました。
編集-----------------------------------
少し考えた後、私はそれが最初のJson.Net(新しい4.5)が最初にリンクされているので、それが理解している、そして古いものは、ビルド時に後に来る。古いものは新しいものを上書きします。
私はGACのインストールには慣れていませんが、私が望んでいない2つのバージョンのワームをインストールすることができます。これは、Webを展開するすべてのマシンアプリ。 web.configで遊んでこれを回避する方法はありますか?
oldVersion = "0.0.0.0-4.5.0.0"はoldVersion = "0.0.0.0-4.0.0.0" – user516883