我正在运行以下代码:
string serialized = JsonConvert.SerializeObject(somethingToSend);
并抛出此异常:
MissingMethodException:无法从程序集“ mscorlib,版本= 3.5.0.0,区域性=中性,PublicKeyToken = 969DB8053D3322AC”中加载类型“ System.Runtime.Serialization.StreamingContext”。
这是我的配置:
对于此问题的答案“ 是否存在可以在WindowsMobile上使用C#读取JSON的库? ”暗示它应该可以工作。
我在调试时使用连接的真实设备(因此没有仿真器)运行它,之前我已经从这里安装了CAB文件,没有错误:
C:\ Program Files(x86)\ Microsoft.NET \ SDK \ CompactFramework \ v3.5 \ WindowsCE \ NETCFv35.wce.armv4.cab
该应用程序运行良好,直到我单击运行以上行的按钮,所以有人知道我缺少了什么吗?
该线程“ Windows CE 5.0的Json.Compact.dll? ”表明我需要安装Windows SDK。考虑到它是在设备本身上运行的,我想这绝对不是解决办法。
另一个建议是从源代码构建,但是像问题的作者一样,我无法将项目文件加载到VS 2008中来做到这一点。我可以创建一个新项目并包含源文件,然后尝试对其进行编译,但在此之前,我想先问一下这是否值得,或者设备上的安装是否还缺少其他内容?也许我应该使用替代版本?
所以我需要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程序集,然后运行它并正常运行。
Newtonsoft.Json.Compact.dll