便携式类库与库项目

tes*_*ing 19 c# dll xamarin.ios portable-class-library xamarin

我想知道PCL(可移植类库)和普通库之间的区别.

PCL使用配置文件来确定哪些平台和功能可用.两者都可以生成可以在不同平台上使用的DLL.对于普通的库项目,您还可以设置目标框架(例如.NET 3.5).Xamarin#if编译器指令仅适用于共享项目,这意味着它们不用于PCL.我认为PCL和图书馆项目非常相似.

那么在处理不同的移动平台时有什么不同?

Yoh*_*all 19

可移植类库与平台无关.它们不使用条件编译和非托管代码,它们内部没有UI(UI依赖于平台).这是因为PCL应该在选择作为目标的所有指定平台上工作.此外,功能的可用性取决于所选目标.

因此,PCL可以被任何在PCL设置中指定目标的项目引用.但是其他类型的库只能由具有相同目标的项目或.Net的上部子集引用(例如,Silverlight库可以在Windows项目中使用,但反之亦然).

有关PCL的限制和功能的更多信息可以在以下两个链接中找到:

  1. 使用Portable Class Libraries共享功能
  2. 使用可移植类库进行跨平台开发

在第一个链接上,您可以了解一般的PCL是什么.关于目标和功能的第二个信息.

希望这可以帮助.

编辑:另请参阅什么是可移植类库?