19

我正在使用 Stuart Lodge 出色的 MvvmCross 框架开发针对 iOS 和 Android 的跨平台 Xamarin 应用程序。

微软最近发布了他们的便携式类库 BCL 包的新版本,Stuart 在http://slodge.blogspot.com.au/2013/11/quick-run-through-using-pcls-中描述了如何使用这些设置项目在.html中。

使用 PCL 配置文件 158 时,必须添加 BCL 异步包并进行一些调整才能使 iOS 项目正常工作。

当使用 PCL 配置文件 78 时,这似乎自动工作,不需要 BCL 包。

为什么要使用配置文件 158 而不是配置文件 78?

4

2 回答 2

15

Profile158 支持更多平台。具体来说,它可以在 Silverlight 5 上运行,而 Profile78 则不能。此外,Profile158 使用“较旧”的反射 API,因此如果您有使用反射的现有代码,则可能更容易移植到 Profile158。

在其他条件相同的情况下,除非您有理由不这样做,否则我建议您使用 Profile78。它应该可以在 Xamarin 上运行,如果不能,则将其报告为错误。:)

于 2013-11-15T18:35:07.200 回答
6

除了 Daniel Plaisted 的评论之外,配置文件 78 还缺少更多类型

  1. System.Threading.ThreadPool
  2. System.Threading.Timer

两者都可以通过为每个平台创建具有特定实现的插件或引用具有这些并包装这些类型的旧框架来解决,请参阅timer-in-portable-library

除此之外,微软还发布了一个强大的集合:Immutable-Collection
它支持 PCL,但在 silverlight 中不支持,因此在 profile 158 中不支持,但在 profile 78 中支持。

于 2013-11-16T19:36:18.253 回答