2017-07-25 3 views
0

は、私は次のパッケージがインストールされている:なぜ.Netは間違ったバージョンのNewtonsoft.Jsonを読み込もうとしていますか?私のプロジェクトで

は、それがスローされます例外

System.IO.FileLoadException 

Could not load file or assembly 'Newtonsoft.Json, Version=10.0.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) 
    at JWT.Serializers.JsonNetSerializer.Serialize(Object obj) 
    at JWT.JwtEncoder.Encode(IDictionary`2 extraHeaders, Object payload, Byte[] key) 
    ... 

どうしてこのバージョンのNewtonsoft.Jsonをロードしようとしていますか。 JWTは私が満足しているv6.0.4以上が必要です。これらのパッケージは、Newtonsoft.Jsonがv10を使用する前にインストールされ、動作していました。ランタイムはv10が存在することをどのように知っていますか?

私は直ちに問題を解決するために、バインディングリダイレクトをv9に戻しましたが、問題の根本を見つけたいと思います。

update-package Newtonsoft.Json -reinstallを実行し、保留中のすべての変更を調べて、いずれかのプロジェクトにv10への参照があったが、何も見つかりませんでしたかどうかを確認します。

+0

の古いバージョンへの参照を保存します。 –

答えて

1

Visual Studioで* csprojを右クリック - > unload project - >右クリック - > csprojをクリックするか、テキストエディタで開きます。

いくつかの回は、そのあなたの目標を達成するための唯一の方法は、MSBuildの診断ログを有効にすると、それがアセンブリを解決しようとする方法を確認することですパッケージ