【问题标题】:JSON .Net Windows Mobile Error when serializing序列化时出现 JSON .Net Windows Mobile 错误
【发布时间】:2012-07-02 23:55:55
【问题描述】:

我正在运行这段代码:

 string serialized = JsonConvert.SerializeObject(somethingToSend);

它会抛出这个异常:

MissingMethodException:无法从程序集“mscorlib,Version=3.5.0.0,Culture=neutral,PublicKeyToken=969DB8053D3322AC”加载类型“System.Runtime.Serialization.StreamingContext”。

这是我的配置:

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

这个问题“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 中来做到这一点。我可以创建一个新项目并包含源文件并尝试编译它,但在我这样做之前我想我会在这里问它是否值得,或者设备上的安装是否还缺少其他东西?或者我应该使用替代版本?

【问题讨论】:

    标签: c# .net json json.net windows-mobile-6


    【解决方案1】:

    所以我需要 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 程序集,运行它并且运行良好。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 2022-01-08
    相关资源
    最近更新 更多