为什么我要将可移植类库与Xamarin一起使用?

1 .net dll android ios xamarin

我目前正在为我的公司评估Xamarin,目标是开发iOS以及稍后的Android应用程序.(Windows Phone或Windows商店应用程序不是我们关注的问题).我们正在考虑将共享功能放入一个公共库中,根据Xamarin Docs,PCL是可行的方法.但是为什么我不能只创建普通的.net类库并引用它们呢?

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

Jas*_*son 5

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

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