Xamarin 的可移植和共享项目

Portable and Shared projects of Xamarin

我是创建 Xamarin 项目的新手。
可移植项目和共享项目有什么区别?
我想一个是便携式的,另一个是共享的,但这些的目的是什么
我的跨平台表单移动应用程序应该使用哪一个?

提前致谢

直接取自Xamarin website

Shared Projects – Use the Shared Asset Project type to organize your source code, and use #if compiler directives as required to manage platform-specific requirements.

Portable Class Libraries – Create a Portable Class Library (PCL) targeting the platforms you wish to support, and use Interfaces to provide platform-specific functionality.

Portable 表示 PCL shared 是共享资产项目。本质上,两者都可用于跨平台共享代码。您可以找到 Xamarin 在其 documentation.

中解释的差异

用我自己的话来说,当使用 PCL 完成代码共享时,共享代码最初被编译,然后被 Android 和 iOS 项目引用。所以只有所有平台都可以编译的代码才能包含在PCL类型中。而在共享资产项目中,代码文件被添加到各个平台,然后进行编译。所以我们可以使用预处理器指令包含平台特定代码。每种方法都有其优点和缺点。您可以综合考虑后决定选择哪个。