1

一直在绞尽脑汁,但设法弄清楚当前的 Json.Net 版本不适用于 Metro/Store 应用程序。

我包含了对该库的 Net40 版本的引用,但我不断收到编译错误,指出无法将引用添加为

“项目以 '.NetCore' 为目标,而文件引用以 '.NetFramework' 为目标。这不是受支持的方案。”

所以我尝试在 VS2012 中创建一个基于标准表单的 VB.net 应用程序,并且看到 Json.Net 完美导入。

该问题似乎集中在System.ComponentModel.PropertyDescriptor上,它在 .Netcore 中似乎不可用。

更新:

我尝试添加 Json.net 的便携式版本,并在尝试构建应用程序时收到以下错误:

CA0001 错误运行代码分析 CA0001:Rule=Microsoft.Reliability#CA2002,Target=Jobs.Store.MainPage.#JobView_Respond(Jobs.Store.WebViewResponse):读取模块“Jobs.Store”时遇到以下错误:无法解析成员参考:[Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed]Newtonsoft.Json.JsonConvert::SerializeObject。[错误和警告](全球)

我希望 James Newton-King 能接受这一点,因为他在这里似乎很活跃;-)

除此之外,我发现在 Metro 应用程序中对 JSON 进行序列化非常困难!

干杯,

罗伊

4

1 回答 1

2

刚刚遇到了同样的问题,通过获取库的实际 WinRT 版本解决了这个问题。网络上的任何地方似乎都没有提到它,但是如果您在此处获取最新版本(在撰写本文时):

http://json.codeplex.com/releases/view/97986

在 /Bin 中,您会找到 WinRT 文件夹 - 引用其中的 DLL,您应该可以启动并运行。

编辑:JSON.NET 做得相当不错,但我们正在开发一个库并决定我们不想添加依赖项。此外,过去它存在版本冲突问题 - 所以我们切换到 SimpleJson(不是来自 github 的 SimpleJson.net,请注意!)。这只是一个类,如果你需要的话,它在序列化方面非常棒。它可以从 NuGet 获得

Install-Package SimpleJson
于 2013-01-13T22:15:23.700 回答