【问题标题】:Correct SerializeObject method run?正确的 SerializeObject 方法运行?
【发布时间】:2011-05-20 18:41:55
【问题描述】:

我在我的项目中添加了 json dll 并尝试序列化对象:

 ProductType itemToEdit = new ProductType("Name");
 string jsonString = JsonConvert.SerializeObject(itemToEdit);

出现错误:

类型异常 'System.MissingMethodException' 发生在 Newtonsoft.Json.DLL 但 未在用户代码中处理

附加信息:方法不是 发现:'布尔 System.Runtime.Serialization.DataContractAttribute.get_IsReference()'。

但项目构建正确。

【问题讨论】:

  • 您的项目的目标是什么框架?确保它是 3.5 或 4
  • 所有对象都会发生这种情况还是只发生在 ProductType 上?
  • 是的,项目构建正确,因为这是Runtime 异常。

标签: c# asp.net json


【解决方案1】:

我遇到了同样的问题。安装 .NET framework 3.5 SP1 解决了这个问题。 DataContractAttribute.IsReference 属性仅在 .NET Framework 4、3.5 SP1 和 3.0 SP2 中受支持

http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute.isreference.aspx.

【讨论】:

    【解决方案2】:

    不确定这是否有帮助,但在将 Newtonsoft.Json 与 Windows Phone 7 应用程序一起使用时,我遇到了类似的问题。

    执行 JsonConvert.SerializeObject 时,我在 Newtonsoft.Json.DLL 中出现“System.MissingMethodException”。

    我使用 NuGet 安装,它添加的引用是 Newtonsoft.Json.Silverlight。

    我将其更改为 Newtonsoft.Json.WindowsPhone 并解决了问题。

    【讨论】:

      猜你喜欢
      • 2021-02-26
      • 1970-01-01
      • 1970-01-01
      • 2015-05-06
      • 2011-11-09
      • 1970-01-01
      • 2017-09-21
      • 2010-10-23
      • 2012-11-19
      相关资源
      最近更新 更多