【问题标题】:Moving to JSON.NET 4.0.3 broke my app迁移到 JSON.NET 4.0.3 破坏了我的应用程序
【发布时间】:2011-10-15 20:20:50
【问题描述】:

我有一个使用 JSON.NET 4.0.2 的 Windows Phone 7.1 (Mango) 应用程序。

我将它升级到 4.0.3,现在我得到了各种错误。

以前工作的反序列化类现在抛出此错误: 无法从程序集“System.Core,Version=3.7.0.0,Culture=neutral,PublicKeyToken=969DB8053D3322AC”加载类型“System.Dynamic.IDynamicMetaObjectProvider”。

我还通过使用 JArray 来利用 Linq 功能,现在我收到以下消息: {“无法从程序集 'Newtonsoft.Json, Version=4.0.3.0, Culture=neutral, PublicKeyToken=30AD4FE6B2A6AEED' 加载类型 'Newtonsoft.Json.Linq.JArray'。”}

我尝试清洁溶液。我尝试再复制一次 DLL。

有什么建议吗?

【问题讨论】:

  • 我解决了我的问题。这是对新版本的不好参考。尽管 Windows Phone 7.1 支持 Silverlight 4,但我不得不将其更改为 .NET 3.5 (Windows Phone)。
  • 我刚刚看到了同样的问题 - 在json.codeplex.com/workitem/21811上报告了它
  • 对我来说同样的修复 - 基本上使用 wp7 而不是 wp7.1 dll。

标签: json.net


【解决方案1】:

问题在于,如果没有明确指定 Silverlight 4 WP 构建,Windows Phone 7.1 默认使用 Silverlight 4 构建。 Silverlight 4 具有 WP 上不可用的功能,这就是导致 Json.NET 崩溃的原因。

这将在 4.0.5 中通过将当前的 Windows Phone 7.0 dll 用于 7.1 来解决,但现在要解决此问题,只需将 dll 引用更改为 sl3-wp 目录中的 Newtonsoft.Json.dll 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多