添加对以 .NET Standard 2.0 为目标的 class 库的引用到以 .NET Standard 4.5 为目标的 Xamarin PCL
Add a reference to a class library which target .NET standard 2.0 to a Xamarin PCL which targets .NET Standard 4.5
我正在构建一个 Xamarin 应用程序,我在 PCL 中有我的共享代码,它以 .NET 4.5 框架为目标。我还有一个库,它基本上在另一个库中实现了我的 Xamarin 应用程序的服务访问层,该库以 .NET 标准 2.0 为目标。
问题是当我尝试引用后者时,Visual Studio 给我以下错误:
Project [Service access library] targets '.NETStandard,Version=v2.0'. It cannot be referenced by a project that targets '.NETPortable,Version=v4.5,Profile=Profile111'.
我不明白为什么,因为据我了解,.NET 标准的抽象级别低于 .NET 4.5 框架。任何见解将不胜感激。
不,支持 .net 标准 2.0 的 .net 框架的最低版本是 .net 4.6.1(使用 .net core 2.0 工具 vs 2017.3+)。 .Net 4.7.1 真正支持 .net 标准 2.0,无论您使用什么工具。
.net standard 2.0API面大,entity frameworkcore 2.0和asp.netcore 2.0是基于.net standard 2.0 api开发的
请注意,pcl 配置文件 111 代表 .net 4.5 和 Windows 8.1,它们共同支持 .net 标准 1.1。
由于最新的 xamarin forms 2.5 支持 .net standard 2.0,我建议您停止使用 PCL 项目,并在所有地方使用 .net standard 2。
使用 .net standard 2 和 ef core 2 + SQL lite at https://github.com/ysmoradi/ToDo 以 android 和 iOS 为目标的 xamarin 表单检查我的示例应用程序
您还可以针对 .net 框架库的 nuget 包,例如 https://github.com/davideicardi/DynamicExpresso 它适用于移动设备,但它仅针对 .net 框架。以前不能用,现在可以了
如果您想将 pcl 个库的 nuget 包添加到您的项目中,请查看 https://github.com/ysmoradi/ToDo/blob/master/src/ToDo/ToDo.csproj#L5
所以,更新到 xamarin forms 2.5,用 .net standard 2.0 替换你的 pcl 就可以了:)
Visual studio 2017.5 使用 .net 标准而不是 pcl 创建项目,因为这是未来。
我正在构建一个 Xamarin 应用程序,我在 PCL 中有我的共享代码,它以 .NET 4.5 框架为目标。我还有一个库,它基本上在另一个库中实现了我的 Xamarin 应用程序的服务访问层,该库以 .NET 标准 2.0 为目标。
问题是当我尝试引用后者时,Visual Studio 给我以下错误:
Project [Service access library] targets '.NETStandard,Version=v2.0'. It cannot be referenced by a project that targets '.NETPortable,Version=v4.5,Profile=Profile111'.
我不明白为什么,因为据我了解,.NET 标准的抽象级别低于 .NET 4.5 框架。任何见解将不胜感激。
不,支持 .net 标准 2.0 的 .net 框架的最低版本是 .net 4.6.1(使用 .net core 2.0 工具 vs 2017.3+)。 .Net 4.7.1 真正支持 .net 标准 2.0,无论您使用什么工具。
.net standard 2.0API面大,entity frameworkcore 2.0和asp.netcore 2.0是基于.net standard 2.0 api开发的
请注意,pcl 配置文件 111 代表 .net 4.5 和 Windows 8.1,它们共同支持 .net 标准 1.1。
由于最新的 xamarin forms 2.5 支持 .net standard 2.0,我建议您停止使用 PCL 项目,并在所有地方使用 .net standard 2。
使用 .net standard 2 和 ef core 2 + SQL lite at https://github.com/ysmoradi/ToDo 以 android 和 iOS 为目标的 xamarin 表单检查我的示例应用程序
您还可以针对 .net 框架库的 nuget 包,例如 https://github.com/davideicardi/DynamicExpresso 它适用于移动设备,但它仅针对 .net 框架。以前不能用,现在可以了
如果您想将 pcl 个库的 nuget 包添加到您的项目中,请查看 https://github.com/ysmoradi/ToDo/blob/master/src/ToDo/ToDo.csproj#L5
所以,更新到 xamarin forms 2.5,用 .net standard 2.0 替换你的 pcl 就可以了:)
Visual studio 2017.5 使用 .net 标准而不是 pcl 创建项目,因为这是未来。