6

我正在运行这段代码:

 string serialized = JsonConvert.SerializeObject(somethingToSend);

它抛出了这个异常:

MissingMethodException:无法从程序集“mscorlib,版本=3.5.0.0,文化=中性,PublicKeyToken=969DB8053D3322AC”加载类型“System.Runtime.Serialization.StreamingContext”。

这是我的配置:

  • Visual Studio 2008(带有所有最新的服务包等)
  • 针对 Windows Mobile 6 .Net 3.5 的智能设备项目
  • Json DotNet版本 4.5 Release 7(引用 zip 中 WindowsPhone 文件夹中的 DLL)

这个问题的答案“是否有一个库可以在 Windows Mobile 上读取 C# 中的 JSON? ”暗示它应该可以工作。

我在调试中运行它,连接了真实设备(所以没有模拟器),我之前从这里安装了 CAB 文件,没有错误:

C:\Program Files (x86)\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\NETCFv35.wce.armv4.cab

该应用程序运行良好,直到我单击运行上述行的按钮,所以有人知道我缺少什么吗?

这个线程“ Json.Compact.dll for Windows CE 5.0? ”表明我需要安装 Windows SDK,我已经安装了。鉴于它在设备本身上运行,我想这无论如何都不会成为修复程序。

另一个建议是从源代码构建,但就像问题的作者一样,我无法将项目文件加载到 VS 2008 中来做到这一点。我可以创建一个新项目并包含源文件并尝试对其进行编译,但在此之前我想我会在这里问它是否值得,或者设备上的安装是否还缺少其他东西?或者也许我应该使用替代版本?

4

1 回答 1

10

所以我需要RTFM!自述文件说:

Microsoft 在 Visual Studio 2010 中停止了对 Compact Framework 的支持。对于 Compact Framework 3.5 版本,请下载 Json.NET 3.5。

所以我抓住了最新的 3.5 版本,即:Json.NET 3.5 Release 8,更新了我对Newtonsoft.Json.Compact.dll程序集的引用,运行它并且运行良好。

于 2012-07-03T05:43:26.177 回答