我正在运行这段代码:
string serialized = JsonConvert.SerializeObject(somethingToSend);
它引发了这个例外:
MissingMethodException:无法从程序集'mscorlib,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = 969DB8053D3322AC'加载类型'System.Runtime.Serialization.StreamingContext'。
这是我的配置:
这个问题“Is there a library to read JSON in C# on Windows Mobile?”的答案暗示它应该有效。
我在调试中运行它,附加了真实设备(所以没有模拟器)我之前从这里安装了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中来执行此操作。我可以创建一个新项目并包含源文件并尝试将其编译,但在我这样做之前,我想我会问这里是否值得,或者设备上的安装中是否还有其他东西丢失?或者也许我应该使用备用构建?
答案 0 :(得分:9)
所以我需要RTFM!自述文件说:
Microsoft在Visual Studio 2010中停止了对Compact Framework的支持。 对于Compact Framework 3.5 build下载Json.NET 3.5。
所以我抓住了最新的3.5版本:Json.NET 3.5 Release 8,更新了我的引用以指向Newtonsoft.Json.Compact.dll
程序集,运行它并且运行正常。