VS 2015中的类库 – 构建跨平台库
我可以在安装了Xamarin的VS 2015中创建不同的类库:
- class级图书馆
- 类库(Android)
- class级图书馆(包)
- 类库(适用于通用应用程序)
- 类库(便携式)
- 类库(Xamarin.Forms)
我很想知道每个之间的区别 – 只是一个简短的会做:)
情景
我们的团队目前正在开发一个新项目,我们主要针对多个平台 – 网络和移动(Xamarin)。 虽然我们决定首先关注MVC Web应用程序,但我们希望创建一个包含所有模型和业务类(逻辑)的项目,以便以后可以在我们的项目中使用它。 哪个类库最合适?
这个问题有很大的范围,我会尽力回答:
class级图书馆
输出DLL的标准.NET类库。 此项目类型只能在桌面平台(Mac,Windows)上使用。 Android和IOS项目无法引用这些项目类型。
类库(Android)
与特定Android库类似的Android特定类库 。 此项目旨在共享特定于Android的资源,例如活动,片段,视图,绘图,字符串等。此项目只能由Android App项目或其他Android库项目引用。
我们通常将我们的主要Android应用程序放入一个库,然后只完成一个启动画面链接库项目的Android应用程序。 这样我们就可以将每个屏幕隔离成一个单独的“Testbed”应用程序来独立测试每个屏幕,而无需通过整个应用程序来测试它们。
class级图书馆(包)
这种类型不在我的VS安装中,所以我不能评论它是什么。
类库(适用于通用应用程序)
面向.NET 4.5的可移植类库,包括对Windows 8,Xamarin.Android,Xamarin.iOS和Xamarin.iOS(经典)的支持。 这是TargetFrameworkProfile Profile7
。
类库(便携式)
面向.NET 4.5的可移植类库,支持Windows 8,Windows Phone 8.1,Windows Phone Silverlight 8,Xamarin.Android,Xamarin.iOS和Xamarin.iOS(经典)。 这是TargetFrameworkProfile Profile259
。
类库(Xamarin.Forms)
面向.NET 4.5的可移植类库,支持Windows 8,Windows Phone 8.1,Windows Phone Silverlight 8,Xamarin.Android,Xamarin.iOS(经典),Xamarin.iOS Unified和Xamarin.Mac Unified。 这是TargetFrameworkProfile Profile78
。
请注意, Portable for Universal Apps , Xamarin.Forms和Portable是相同的项目类型(PCL库),除了Xamarin.Forms包括对最大数量的平台的支持。
在项目结构方面,我们为每个平台(Android,iOs,Windows)提供了一个项目,它引用了PCL(定义了我们的接口和数据库实体)和一个实现大多数应用程序逻辑的共享项目。
我建议阅读以下链接并使用Tasky源代码作为您的应用程序的基础:
- 构建跨平台应用程序
- 共享项目
- ASP.Net MVC 2 Controller的TryValidate不validation模型中的List 项
- 如何在RichTextBox 中语法突出显示?
- 我如何使用方法async Task 并返回字符串,然后如何将该方法的委托传递给构造函数并在以后使用它?
- ASP.NET MVC从byte 生成PDF
- Selenium Webdriver C#Sendkeys(Keys.Arrowdown)
- 任务和exception沉默
- entity framework中多个“包含”的最佳实践是什么?
- Roslyn Code Action:如何检查预览或实际执行?
- 使用MultipartFormDataStreamProvider和ReadAsMultipartAsync