簡體   English   中英

ASP.NET MVC 4 WebAPI PostAsJsonAsync Newtonsoft.Json錯誤

[英]ASP.NET MVC 4 WebAPI PostAsJsonAsync Newtonsoft.Json error

在我的MVC 4 Web API項目中停止工作。 找不到Newtonsoft.Json。 運行此代碼后:

 Dim response As HttpResponseMessage = MyHttpClient.PostAsJsonAsync("Api/Test", MyObject).Result

我收到消息錯誤:

System.Net.Http.Formatting.dll中發生了類型為'System.IO.FileLoadException'的未處理異常

附加信息:無法加載文件或程序集“ Newtonsoft.Json,版本= 4.5.0.0,區域性=中性,PublicKeyToken = 30ad4fe6b2a6aeed”或其依賴項之一。 找到的程序集的清單定義與程序集引用不匹配。 (來自HRESULT的異常:0x80131040)

我知道MS現在將其用作默認的JSON序列化程序-並且已被引用。 我嘗試從NuGet更新Newtonsoft.Json,但找不到它; 我找到“ Json.Net”。 所以我用包管理器控制台重新安裝

Update-Package Newtonsoft.Json –Reinstall

但是仍然不起作用。 有人知道為什么會出錯嗎?

似乎您正在使用一些過時的庫,該庫依賴於舊版本的JSON.NET。 您可以嘗試安裝它的特定版本:

Update-Package Newtonsoft.Json -Version 4.5.11

如果此操作告訴您其他軟件包需要較新版本的JSON.NET,那么您將需要通過升級正在使用且取決於JSON.NET 4.5的過時的庫來解決此沖突。

嘗試在<runtime><assemblyBinding>中的web.config文件中添加此部分:

<dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
        <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
      </dependentAssembly>

暫無
暫無

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

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