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

时间:2011-05-30 13:21:43

标签: c# c#-4.0 json.net

我正在使用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但它仍然无法正常工作。 有人可以帮我解决这个问题吗,请指导我以我的方式阅读签名请求是否正确,如果没有请指明正确的方法。

感谢:

7 个答案:

答案 0 :(得分: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版本构建的。< / p>

答案 1 :(得分:9)

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

PM> update-package newtonsoft.json

答案 2 :(得分:3)

在包管理器控制台Visual Studio 2013中

PM> Install-Package Newtonsoft.Json

然后重新启动Visual Studio。

答案 3 :(得分:2)

当我遇到这个问题时,我发现你的项目/包中有2个类似的文件夹,一个是版本6.0.5,另一个是5.0.6。

我删除了5.0.6,问题就消失了。

答案 4 :(得分:1)

在升级解决方案的所有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的所有引用。做了构建和成功。

答案 5 :(得分:0)

打开Package Manager控制台并执行以下命令:

update-package newtonsoft.json 

这对我有用。

答案 6 :(得分:-1)

PM&GT; update-package newtonsoft.json它可以工作