我想知道PCL(可移植类库)和普通库之间的区别。
PCL使用配置文件来确定哪些平台和功能可用。两者都可以生成可以在不同平台上使用的DLL。对于普通的库项目,您还可以设置目标框架(例如.NET 3.5)。 Xamarin表示#if
编译器指令仅适用于共享项目,这意味着它们不在PCL中使用。我认为PCL和图书馆项目非常相似。
那么在处理不同的移动平台时会有什么不同?
答案 0 :(得分:19)
可移植类库与平台无关。它们不使用条件编译和非托管代码,它们内部没有UI(UI依赖于平台)。这是因为PCL应该在选择作为目标的所有指定平台上工作。此外,功能的可用性取决于选定的目标。
因此,在PCL设置中指定目标的任何项目都可以引用PCL。但是其他类型的库只能由具有相同目标的项目或.Net的上部子集引用(例如,Silverlight库可以在Windows项目中使用,但反之亦然)。
有关PCL的限制和功能的更多信息可以在以下两个链接中找到:
在第一个链接上,您可以了解一般的PCL是什么。关于目标和功能的第二个信息。
希望这有帮助。