Class VS 2015 中的库 - 构建跨平台库

Class libraries in VS 2015 - Building Cross Platform Libraries

我可以在安装了 Xamarin 的 VS 2015 中创建不同的 class 库:

  1. Class图书馆
  2. Class 图书馆 (Android)
  3. Class 库(包)
  4. Class 库(通用应用程序的便携式)
  5. Class 图书馆(便携式)
  6. Class 图书馆 (Xamarin.Forms)

我很想知道两者之间的区别 - 只需简要说明即可:)

场景

我们的团队目前正在开发一个新项目,我们的目标是多个平台——主要是网络和移动 (Xamarin)。虽然我们决定首先关注 MVC 网络应用程序,但我们希望创建一个包含所有模型和业务 classes(逻辑)的项目,以便以后可以在我们的项目中使用它。哪个 class 库最合适?

这个问题涉及面比较广,我尽量回答一下:

Class图书馆

一个标准的 .NET class 库,它输出一个 DLL。此项目类型只能用于桌面平台 (Mac、Windows)。 Android 和 IOS 项目无法引用这些项目类型。

Class 图书馆 (Android)

Android 特定的 class 库类似于 normal Android library。此项目旨在共享 Android-特定资源,例如活动、片段、视图、可绘制对象、字符串等。此项目只能被 Android 应用程序项目或其他 Android 库项目引用.

我们通常将我们的主要 Android 应用程序放入库中,然后仅制作启动画面 Android 链接库项目的应用程序。这样我们就可以将每个屏幕隔离到一个单独的 "Testbed" 应用程序中,以独立测试每个屏幕,而无需通过整个应用程序来测试它们。

Class 库(包)

这种类型不在我的 VS 安装中,所以我无法评论它是什么。

Class 库(通用应用程序的便携式)

一个面向 .NET 4.5 的便携式 Class 库,包括对 Windows 8、Xamarin.Android、Xamarin.iOS 和 Xamarin.iOS 的支持(class我知道了)。这是 TargetFrameworkProfile Profile7.

Class 图书馆(便携式)

一个便携式 Class 库,以 .NET 4.5 为目标,支持 Windows 8,Windows Phone 8.1,Windows Phone Silverlight 8、Xamarin.Android、Xamarin.iOS 和 Xamarin.iOS (classic)。这是TargetFrameworkProfile Profile259

Class 图书馆 (Xamarin.Forms)

一个便携式 Class 库,以 .NET 4.5 为目标,支持 Windows 8,Windows Phone 8.1,Windows Phone Silverlight 8、Xamarin.Android、Xamarin.iOS (classic)、Xamarin.iOS 统一和 Xamarin.Mac 统一。这是 TargetFrameworkProfile Profile78.

请注意,库 Portable for Universal AppsXamarin.FormsPortable 是相同的项目类型(PCL 库),除了 Xamarin.Forms 包括对最大数量平台的支持。


在项目结构方面,我们为每个平台(Android、iOs、Windows)都有一个引用 PCL(定义我们的接口)的项目和数据库实体)和一个实现大部分应用程序逻辑的共享项目。

我建议阅读以下链接并使用 Tasky 源代码作为您的应用程序的基础: