は、私は次のパッケージがインストールされている:なぜ.Netは間違ったバージョンのNewtonsoft.Jsonを読み込もうとしていますか?私のプロジェクトで
- JWTのv2.3.2(https://www.nuget.org/packages/JWT/2.3.2)
- Newtonsoft.Jsonのv9.0.1(https://www.nuget.org/packages/Newtonsoft.Json/9.0.1) プログラムが実行さ
は、それがスローされます例外
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への参照があったが、何も見つかりませんでしたかどうかを確認します。
の古いバージョンへの参照を保存します。 –