无法使用MonoDroid和MonoTouch将Json.Net添加到Portable Class Library

时间:2013-04-20 13:05:59

标签: c# xamarin.android json.net mvvmcross

我不理解这篇文章 - http://slodge.blogspot.co.uk/2013/01/almost-portable-binaries.html

我还是有些困惑。你是说如果我们选择在我们的应用程序中使用类似Json.Net的东西,我们需要使用专门用于MonoDroid的版本和另一个专门用于MonoTouch的版本吗?目前,我有一个包含我的视图模型的可移植类库。我的视图模型依赖于Json。

当我尝试手动添加对MvvmCross附带的NewtonSoft库的引用时,我收到一个编译时错误,上面写着:“找不到类型或命名空间名称'Newtonsoft'(您是否缺少using指令或汇编参考?)“

如果我尝试通过NuGet添加Json.Net,我收到一条错误消息:“已成功安装'Newtonsoft.Json 5.0.3'。 成功卸载'Newtonsoft.Json 5.0.3'。 安装失败。滚回来... 无法安装包“Newtonsoft.Json 5.0.3”。您正在尝试将此软件包安装到以“portable-win + net45 + MonoAndroid16 + sl40 + net10 + wp71”为目标的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请与软件包作者联系。“

发生了什么事?

1 个答案:

答案 0 :(得分:1)

xamarin产品中PCLs的情况正在迅速发展 - 应该在几周内提供适当的pcl支持,并且还发生了大的mono2-> mono3变化。

在这些变化更加完善之前,情况是:

  • 您可能可以在droid上使用现有的配置文件2和配置文件104 PCL作为二进制文件

  • 您可以在iOS上使用PCL二进制文件 - 但不太可能

  • 为每个平台重建PCL最安全

特别是对于json.net,我已经将mvx的版本捆绑了几个月并且没有在iOS或触摸上出现问题,但是我没有使用每个选项和代码路径 - 所以可能会有这种方法潜伏的小鬼。 / p>


对于对droid和touch的nuget支持,dsplaisted将此添加到nuget 2.5(一个英雄!) - 但到目前为止,我知道谁添加了对xamarin nuget目标的支持的唯一包作者是我 - 请鼓励其他作者加入in - 也许通过向他们发送拉取请求?