簡體   English   中英

為什么.Net試圖加載錯誤版本的Newtonsoft.Json?

[英]Why is .Net trying to load the wrong version of 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)
   ...

為什么.Net試圖加載此版本的Newtonsoft.Json。 JWT要求我滿足v6.0.4或更高版本。 這兩個軟件包都在Newtonsoft.Json甚至有v10之前就已安裝並可以使用。 運行時如何甚至知道v10存在?

我通過添加回向下到v9的綁定重定向解決了眼前的問題,但我想找到問題的根源。

我運行了update-package Newtonsoft.Json -reinstall並查看了所有待處理的更改,以查看是否有任何項目引用了v10,但我找不到任何東西。

通過右鍵單擊->卸載項目->右鍵單擊->在Visual Studio中編輯。* csproj來檢查。* csproj文件,或使用任何文本編輯器將其打開。

有時它保存對軟件包舊版本的引用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM