【问题标题】:JSON.net 5.0 nuget package for silverlight is not recognized无法识别用于 silverlight 的 JSON.net 5.0 nuget 包
【发布时间】:2013-12-20 04:16:30
【问题描述】:

原问题:

为了让 Visual Studio 2010、Silverlight 5、NuGet 和 JSON.Net 都能正常运行,我需要更改命名空间、Newtonsoft.Json 或 packages.config 文件吗?

更新后:

是否有适用于 Silverlight 5 的 Json.Net 程序集(或 NuGet 包)?

我有一个解决方案,其中项目引用 JSON.net 库的解决方案中有几个项目。我正在重构 Visual Studio 解决方案以使用 NuGet 而不是静态下载版本(然后引用 DLL 文件)。

右键单击项目并选择“管理 NuGet 包”按预期工作,让我将 Json.net 包安装到解决方案中的 .NET 3.5 项目和解决方案中的 Silverlight 项目。一切看起来都很好点。

我将设置设置为搜索更新并授予 NuGet 下载缺失包的权限。

在 3.5 和 Silverlight 5 项目参考中找到的 packages.config 文件:

package id="Newtonsoft.Json" version="5.0.8" targetFramework="net35"

package id="Newtonsoft.Json" version="5.0.8" targetFramework="sl50"

分别。

编译 .Net 3.5 项目没有错误,但对于 Silverlight 5 项目,您会得到:

The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?)
C:\CognexWorkSpace\TAF_Tools\src\TypeSafeEnumeration.Common\Enumeration.Serialization.cs

为了让 Visual Studio 2010、Silverlight 5、NuGet 和 JSON.Net 都能正常运行,我需要对命名空间、Newtonsoft.Json 或 packages.config 文件进行更改吗?

FWIW:Visual Studio 2010 Intellisense 标记该行:

using Newtonsoft.Json;

未解决,但仅在 Silverlight 5 项目中。

更新

我应该更清楚解决方案的结构。目前,我有两个从 Json.net 4 源代码编译的项目(Json.Net35 和 json.Silverlight)。然后解决方案中的其他项目引用该项目所需的 JSON 序列化程序的特定变体。

解决方案的重构是升级导致实现 NuGet 的代码库。由于 NuGet 方法暂时阻塞,我想直接引用 Json.net DLL。但是,当我下载二进制文件时,ZIP 存档仅包含以下变体:

Net20
Net35
Net40
Net45
Portable
Portable40
WinRT

这个问题现在变成了:

是否有适用于 Silverlight 5 的 Json.Net 程序集(或 NuGet 包)?

如果不是这样可以很容易地解释我一开始的 NuGet 包问题,我又回到了原始(当前)方法,但使用了更新版本的源代码。

【问题讨论】:

  • 也许相关,所有 Silverlight 和 Windows Phone 代码都是在 5.0.8 版本发布几天后来自项目的removed

标签: c# visual-studio-2010 json.net silverlight-5.0 nuget-package


【解决方案1】:

如果你使用的是VS2010,不支持Portable项目,你需要回到4.5版本的Json.Net。无论如何,我不确定 Silverlight 是否可以利用任何改进,因为 Portable 项目通常会排除 Json.Net 的许多更新功能。

这尤其适用于 Silverlight,因为这些需要是 Portable40 项目,其中不包括 Portable 类本身。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 2019-04-13
    相关资源
    最近更新 更多