无法加载文件或程序集'Newtonsoft.Json,Version = 3.5.0.0

Sha*_*sul 16 c# json.net c#-4.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>");
Run Code Online (Sandbox Code Playgroud)

但在突出显示的行上我收到了以下异常

无法加载文件或程序集"Newtonsoft.Json,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed"或其中一个依赖项.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

我下载了Newtonsoft.Json.发布1而不是发布2但它仍然无法正常工作.有人可以帮助我解决这个问题,也请指导我以我的方式阅读签名请求是否正确如果不是请指定正确的方法.

谢谢:

jis*_*shi 18

我猜你已经下载了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版本构建的.

  • 有关汇编转发配置的未来参考:http://msdn.microsoft.com/en-us/library/7wd6ex19.aspx (4认同)

Aza*_*ndi 9

您可以使用包管理器使用其nuget包'Newtonsoft.Json'更新它.

PM> update-package newtonsoft.json
Run Code Online (Sandbox Code Playgroud)