当前位置: 首页 > 面试题库 >

序列化时JSON .Net Windows Mobile错误

相诚
2023-03-14
问题内容

我正在运行以下代码:

 string serialized = JsonConvert.SerializeObject(somethingToSend);

并抛出此异常:

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

这是我的配置

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

对于此问题的答案“ 是否存在可以在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程序集,然后运行它并正常运行。



 类似资料:
  • 我的项目是关于图书馆管理系统的。我必须将数据存储到类的对象中,然后将它们存储到ArrayList中。然后我在序列化数据。 我有这些功能: null 我用来反序列化的代码: 我得到了一个异常,因为BufferedReader需要是瞬态的,这是修复的。但现在,我认为我的序列化不起作用了。每次我创建一本书,我都将它的索引(对象编号)存储在一个文本文件中。我的搜索技术都不起作用:ArrayIndexOut

  • 问题内容: 我正在尝试使用protobuf序列化结构。经过许多小时试图弄清楚我在做什么错,我决定测试google的示例,但效果不佳 我从Google(https://developers.google.com/protocol- buffers/docs/javatutorial )获得以下协议: 我正在尝试将其序列化: byte []序列化= john.toByteArray(); 我得到“ j

  • 在任何人试图告诉我这是一个重复之前,我已经试过了关于这个的解决方案,以及几乎所有其他我能找到的答案。 我的项目在IntelliJ中构建得很好,通过了我设置的所有测试,它甚至在IntelliJ内部运行得也很好,当我试图运行maven构建的JAR时,除了几个例外,我就被打了个耳光。 代码所指向的类: 根据我看到的例外情况,当通过命令提示符运行时,问题出现在第31行,它将是: 命令提示符中的堆栈跟踪如下

  • ClassCastException:com.google.gson.internal.LinkedTreeMap不能强制转换为java.util.HashMap 提前谢了。

  • 问题内容: 我试图反序列化以DateTime作为修饰符的类: 但是,当我尝试tro反序列化时,却遇到以下异常: 我用它来反序列化: 还有我的jsonData的示例: 问题答案: 期望使用无参数构造函数。的最新版本没有这样的构造函数。 如果您已固定格式,即。应该只是一个时间戳,那么你可以简单地注册与。它将在内部用于字段。您可以摆脱注释。 您需要添加库。

  • (我之前的问题/议题不够具体,因此完全重写了。) 问题:ServiceStack 4.0.16不适用于Redis。 重新创建的步骤: 在VS 2013中创建一个新的ASP. NET Web表单应用程序。 更新Nuget包 安装Nuget包= 容器登记册(c)= > 运行项目,你应该只得到一个空白屏幕在Chrome 导航到/元数据,你会得到一个通用的HTTP错误500.0-内部服务器错误 打开事件查