2016-12-05 18 views
1

私のプロジェクトでNewtonsoft.Json.dllが使用されています。 は、私は私がNewtonsoft.Json.dllと一緒に新しいPCにすべてを転送するとき、私はエラーを取得8.0.2アセンブリが間違ったバージョンのNewtonsoft.Json.dllを探しています

すべてがしかし、私のPC上で動作するバージョンを使用して私のプロジェクトへの参照とイムとしてDLLを追加した

ファイルまたはアセンブリ 'Newtonsoft.Json、Version = 4.0.3.0、 Culture = neutral、PublicKeyToken = 30ad4fe6b2a6aeed'またはその 依存関係のいずれかを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

このバージョンをどこでも参照していないため、これを指定するapp.configには何もありません。

+0

解決策はいくつあるのですか?そのうちのどれかがスタートアッププロジェクト以外のJSONに依存しています –

答えて

0

スタートアッププロジェクトのbinディレクトリにあるNewtonsoft.Jsonのバージョンを確認します。 Newtonsoft.Jsonが存在し、それが期待しているバージョンであれば、Fuslogvw(https://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.110).aspx)を使用して、ローダーが4.0.3.0バージョンを取得しようとしている場所を知ることができます。これにより、ランタイムが異なるバージョンを探している理由についていくつかの洞察が得られます。

希望に役立ちます。

0

上記の回答は、問題の追跡に役立ちます。参照されているライブラリの中には、それがサポートするライブラリのバージョンを明示的に指定したときに発生します。幸いなことに、app.configのバインディングをオーバーライドすることができます(下記の例を参照)。

<configuration> 
    <!--YOUR CONFIG --> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
</configuration> 
関連する問題