在可用目标列表中看不到 .netStandard

Do not see .netStandard in list of available Targets

我在 visual studio 2017 年,我们的团队还有其他针对 .netstandard 框架的项目,但是当我尝试将我的项目重新定位到 .netstandard 时,它没有向我显示选择 .netstandard 的选项。 netstandard 我只看到 .netCore 1.0 和 1.1。这是为什么?

.Net Standard/.Net Core 的 Visual Studio 工具仍然有一些缺点。如果您创建一个 .Net Core class 库项目,您将无法使用 VS UI 将其更改为 .Net Standard 项目。

您可以通过手动编辑 csproj 来更改它,这在 VS 2017 中的改进变得更加容易:

  • 在解决方案资源管理器中右键单击您的项目,然后 select "Edit YourProject.csproj"。
  • <TargetFramework>netcoreapp1.1</TargetFramework> 更改为例如<TargetFramework>netstandard1.4</TargetFramework>.
  • 就是这样。

另请注意,当您在 VS 15.3 预览版中使用 "Class Library (.NET Core)" 模板时,它实际上会创建一个 .Net Standard 2.0 库,因为 .Net Core class 库应该相当少见。但是我不知道 VS 15.3 的发布版本是否会表现相同。