0

我不明白这篇文章 - 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”为目标的项目中,但该包不包含任何程序集引用或与该框架兼容的内容文件。有关更多信息,请联系包作者。

到底是怎么回事?

4

1 回答 1

1

xamarin 产品中的 PCL 情况正在迅速发展 - 适当的 pcl 支持应该在几周内可用,并且也发生了较大的 mono2->mono3 更改。

在这些更改更加完整之前,情况是:

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

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

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

特别是对于 json.net,我已经将一个版本与 mvx 捆绑了几个月,并且在 iOS 或 touch 上没有遇到问题,但我没有使用每个选项和代码路径 - 所以这种方法可能潜伏着 gremlins。


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

于 2013-04-20T14:20:49.937 回答