2014-11-04 86 views
1

我目前正在为我的公司评估Xamarin,目标是开发iOS,稍后可能会安装Android应用程序。 (Windows Phone或Windows商店应用程序不是我们所关心的)。我们正在考虑将共享功能放到一个通用库中,而根据Xamarin Docs,PCLs是最好的选择。然而,为什么我不能创建普通的.net类库并参考它们呢?为什么我应该在Xamarin中使用可移植类库?

Mono作为Xamarin的基础,并且在大多数领域都有相当成熟的.net Framework实现,它应该在Android和iOS上都可用,因为它是Xamarin的一部分。 我是否错过了一些重要的事实,或者仅仅在我还想开发Windows应用商店应用时才需要PCL?

回答

5

常规.NET库支持单个目标框架。 Xamarin iOS使用的.NET框架与Xamarin Android或Windows Phone等使用的框架不同。它们都使用“完整”框架的不同子集和变体。因此,针对框架的一种风格编译的dll不能用于不同的目标。

PCL通过允许您定位多个框架并使用它们都支持的交集功能来避免这种情况。

+0

谢谢你,让它更清晰。我不知道Xamarin.iOS和Xamarin.Android之间的BCL不同。 – FrequentFlyer 2014-11-05 07:25:14

0

PCL是Xamarin中平台特定项目之间共享代码的两种方式之一(另一种是共享项目)。它们允许您将多个平台作为目标,但最终只能使用较小的一组程序。

+1

查看Jason Smith的(Xamarin.Forms领导)最近的推文和随后的回复:https://twitter.com/jassmith87/status/529785150842748930 – 2014-11-05 11:40:41

相关问题