1

我正在使用 RestSharp(很棒)向 Yammer.com 的 REST API 发出 GET 请求,并收到此错误:

无法加载文件或程序集“Newtonsoft.Json,Version=4.0.3.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6aeed”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

从调试中,我可以看到我尝试获取的 Yammer.com 消息得到了很好的响应,并且代码在反序列化时引发了异常。

  • 这个问题与我在代码中编写反序列化错误有关,还是与程序集兼容性的实际问题有关?
  • 我如何解决它?
4

3 回答 3

1

您对 Yammer.com 的请求可能会返回一个 json 字符串(数据)。..并且可能他们的 API 公开了一个反序列化函数,该函数在内部使用Json.NET库,即:

YammerData dataToReturnedByApi = JsonConvert.DeserializeObject<YammerData>(jsonString);

所以基本上你可能需要下载 JSON.NET dll 并将其包含到你的项目中。第二种选择:您的项目目标是低于 Json 库的 .NET 版本。(即 2.0 和 4.0)。尝试将您的 .NET 目标更改为 4.0。

于 2011-12-16T19:41:51.730 回答
1

对于仍然坚持这一点的任何人。这适用于 RestSharp 版本 102(2012 年 1 月)。

  1. 手动删除对 RestShat 和 newtonsoft JSON 的项目引用
  2. 去手动下载最新版本的RestSharpJson.Net。不要使用 nuget
  3. 手动添加对刚刚下载到项目的 dll 的引用
于 2012-01-12T23:44:20.343 回答
1

RestSharp 有一个没有 JSON 库依赖的新包。

http://nuget.org/packages/RestSharp/103.0.0-nojsondotnet

于 2012-04-06T13:30:39.660 回答