2017-05-22 14 views
0

Newtonsoft.Jsonがプロジェクト内の複数のバージョンで使用可能になっているような問題で、常に悩んでいます。問題はそうではないということです。私はプロジェクトに10をインストールしており、これが唯一のDLLです。 GAGにはdllがなく、web.configは正しいようです。'JsonConvert'タイプは 'Newtonsoft.Json ver 9と10の両方に存在します。

The type 'JsonConvert' exists in both 'Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' and 'Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'  

誰でもこれを見ましたか?コードレベルで、またはweb.config内で使用するバージョンを指定する方法はありますか?

答えて

1

アセンブリを1つだけロードする必要があります。最新のものをロードすることをお勧めします。参照されているすべてのアセンブリがそのバージョンを使用しているかどうかを確認できます。そうでない場合、あなたはweb.configファイルにこれを追加する必要があります。

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
     <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" /> 
     <bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" /> 
    </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

これはバージョンNewtonsoft.Jsonの10を使用するように強制します。 binフォルダからバージョン9を削除してください。

+0

ええ、そうです。私は、次があります。 LTMOD

+0

バージョン9への参照を推奨どおり削除しましたか? –

+0

web.configのバージョン9への参照はありません。私は見なければならない場所はありますか? Machine.config、多分? – LTMOD

関連する問題