这是什么类型的项目类型?

时间:2017-09-17 04:55:29

标签: visual-studio xamarin portable-class-library .net-standard

上下文

我安装了一个解决方案模板(Exrin移动应用程序),并且在解决方案资源管理器中显示的项目类型为...(可移植)但是当我转到目标设置中的项目/属性/库时,我看到.NET标准而不是通常的多个目标和[更改]按钮选择复选框。

问题

所以它似乎是一个混合体,既不是PCL库,也不是.NET标准库。这是.csproj文件中的一些黑客攻击,或者如何使用VS 2017.3内置的项目模板创建这种类型的项目?

(请注意:问题不在于什么是.NET Standard,以及为什么推荐使用PCL)

enter image description here

enter image description here

代替'正常' PCL目标曾经显示为:

enter image description here

1 个答案:

答案 0 :(得分:2)

它似乎是一个普通的可移植类库项目,已经过编辑,目标是.NET Standard。此格式应该在Visual Studio 2015 Update 3及更高版本中有效,但它从未在模板中公开宣布或使用过,因为它主要是一种能够使用MSBuild而不是{{1}构建.NET Standard和.NET Core项目的hacky方式基于工具。

由于这不再是构建.NET Core和.NET Standard项目的方式,我建议不要尝试创建类似的项目。这也依赖于NuGet对基于project.json的依赖关系的支持,在UWP从project.json切换到csproj内的PackageReference元素之后,这些依赖关系将从NuGet中删除。

您可以在CoreFX文档Using MSBuild to build .NET Core projects中阅读此类项目(这是在基于MSBuild工具的.NET Core SDK 1.0发布之前编写的,该文档是关于.NET Core应用程序但它的工作方式类似for .NET Standard)