对于Xamarin和MvvmCross,使用PCL配置文件158超过78是否有任何优点?

Gei*_*erg 19 portable-class-library mvvmcross xamarin

我正在开发一个针对iOS和Android的跨平台Xamarin应用程序,使用Stuart Lodge优秀的MvvmCross框架.

微软最近发布了他们的可移植类库BCL软件包的新版本,Stuart描述了如何在http://slodge.blogspot.com.au/2013/11/quick-run-through-using-pcls-中设置这些软件包.in.html.

当使用PCL配置文件158时,必须添加BCL异步包并进行一些调整以使iOS项目工作.

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

为什么在配置文件78上使用配置文件158?

Dan*_*ted 15

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

其他条件相同,我建议使用Profile78,除非你有理由不这样做.它应该适用于Xamarin,如果没有,那么将其报告为bug.:)


Kob*_*net 6

除了Daniel Plaisted的评论之外,简介78还缺少更多类型

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

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

除此之外,微软发布了一个强大的集合:Immutable-Collection,
它支持PCL但不支持Silverlight,因此在配置文件158中不支持,但在配置文件78中受支持.