![](/img/trans.png)
[英]Could not load file or assembly 'Newtonsoft.Json' Version=11.0.0.0
[英]Could not load file or assembly 'Newtonsoft.Json, Version=3.5.0.0
我在 c# 4.0 中工作以讀取簽名請求我正在使用以下代碼
FacebookApp fap = new FacebookApp();
fap.AppId = "789485219211963"; // App ID
fap.AppSecret = "365ee9f5823698536767d608cf572a49";
string requested_Data = Request.Form["signed_request"];
FacebookSignedRequest fsr = fap.ParseSignedRequest(requested_Data);
IDictionary<string, string> myDic = fsr.Dictionary;
string name = myDic["name"];
string algorithm = myDic["algorithm"];
Response.Write(requested_Data + "<br>" + algorithm + "<br>" + name + "<br>");
但是在突出顯示的行上,我收到了以下異常
無法加載文件或程序集“Newtonsoft.Json,版本=3.5.0.0,文化=中性,PublicKeyToken=30ad4fe6b2a6aeed”或其依賴項之一。 找到的程序集的清單定義與程序集引用不匹配。 (來自 HRESULT 的異常:0x80131040)
我下載了 Newtonsoft.Json。 發布 1 而不是發布 2,但它仍然無法正常工作。 有人可以幫我解決這個問題,也請指導我閱讀簽名請求的方式是否正確,如果不是,請指定正確的方式。
謝謝:
我猜你下載的是 Newtonsoft.Json v4.0,而不是 3.5。 3.5 的最后一個版本是第 8 版。
http://json.codeplex.com/releases/view/50552
我想您可能可以在 web.config/app.config 中進行版本轉發,以便使用 4.0 而不是 3.5,因為您使用的某些庫可能是針對 Newtonsoft 的 3.5 版本構建的。
您可以使用 package 管理器使用其 nuget package 'Newtonsoft.Json' 對其進行更新。
PM> update-package newtonsoft.json
在 package 管理器控制台 Visual Studio 2013
PM> Install-Package Newtonsoft.Json
然后重新啟動 Visual Studio。
當我遇到這個問題時,發現yourproject/packages中有2個類似的文件夾,一個是6.0.5版本,另一個是5.0.6。
我刪除了5.0.6,問題就消失了。
在為解決方案升級所有 NuGet 包后,我的 Xamarin.Forms PCL WinPhone8.1 項目遇到了同樣的問題。 問題出在 winPhone8.1 項目中的 Newtonsoft.Json v9.0.0 上。
所有其他項目都正常工作。 花了兩天時間搜索所有建議,最后通過刪除項目解決了問題,從我的 git 中提取項目的克隆並重新添加到解決方案中。 仍然失敗(盡管 git 版本在提交之前運行良好。)
刪除Newtonsoft的引用,重新安裝舊版本8.0.3,然后通過NuGet升級到V9.0.0。
然后從winPhone8.1項目Bin/ARM/Debug、Bin/x86/Debug和Obj/ARM/Debug/MSIL和MDIL目錄中刪除所有對Newtonsoft的引用。 做了一個構建和成功。
打開 Package 管理控制台並執行以下命令:
update-package newtonsoft.json
這對我有用。
PM> 更新包 newtonsoft.json 它工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.