使用Visual Studio 2017和.Net Core SDK 3.0

50
如何在Visual Studio 2017中打开.NET Core 3.0项目?
我从dotnet.microsoft.com下载了.NET Core 3.0 SDK,并在文件夹中使用dotnet new命令创建了新项目。
构建C#项目时出现错误:

当前的.NET SDK不支持针对.NET Core 3.0的目标。请将目标设置为.NET Core 2.1或更低版本,或使用支持.NET Core 3.0的.NET SDK版本。

我检查过了,但在我的情况下它不起作用: Visual Studio 2017 with .Net Core SDK 2.0 Visual Studio 2017 with .Net Core SDK 2.1

2019预览版5有一个安装程序。2.1似乎是可以安装到2017的最高版本,尽管2.2工具也可用。 - Joseph Poirier
10个回答

48

不幸的是,.NET Core 3需要使用MSBuild 16。即使您像其他人建议的那样在VS 2017中启用.NET Core的预览版本,您仍将收到以下错误:

当前的.NET SDK不支持针对.NET Core 3.0进行目标设置。请将目标设置为.NET Core 2.1或更低版本,或使用支持.NET Core 3.0的.NET SDK版本。

如果您创建了一个global.json文件并放置在例如:

{
  "sdk": {
    "version": "3.0.100-preview5-011568"
  }
}

接下来会提示您真正的问题:

错误: .NET Core SDK版本3.0.100-preview5-011568需要至少MSBuild版本16.0.0。当前可用的MSBuild版本为15.9.21.664。请将global.json中指定的.NET Core SDK更改为旧版本,该旧版本需要当前可用的MSBuild版本。`

MSBuild 16仅随VS 2019一起提供,因此答案是:如果您还安装了VS 2019,则可以使用VS 2017与.NET Core 3一起使用。


4
你能否单独安装 MSBuild 16? - Janne Harju
@user917170 这是否意味着我现在必须购买Visual Studio 2019?还是有其他方法?您认为他们是否也会将其提供给2017年的版本? - Morganis
1
@Morganis 我没有深入研究过,所以不确定是否有解决方法,但你可以安装免费的 Visual Studio 2019 社区版,除了带宽和硬盘空间外不需要支付任何费用,然后继续使用 Visual Studio 2017。 - user917170
你如何针对 MSBuild 16 进行目标定位? - Andrius Naruševičius
@user917170 没错。但是VS2017使用msbuild 15.x,我找不到一种方法来“告诉”VS使用不同的msbuild文件。 - Andrius Naruševičius
显示剩余2条评论

35
在VS 2017中:您可以直接转到工具选项项目和解决方案.NET Core,然后勾选使用.NET Core SDK的预览版

5
这也适用于VS2019 RC,不过我必须重新启动VS才能使更改生效。 - joshcomley
2
这似乎不再适用于 .NET Core 3.0 预览版 3。 - JPBlanc
VS2019发布需要进行此设置更改。同时支持 .net core 3.0 预览版3。请确保重新启动。 - user1378730

8

Visual Studio 2019更新

@GoDev的原始答案如下:

从Visual Studio 2019开始,该选项已移至:

工具 > 选项 > 环境 > 预览功能

Option screen

官方说明


4

.Net Core 3.0需要使用Visual Studio 2019 Preview 1,不能使用Visual Studio 2017。根据.Net Blog,“Visual Studio 2019将支持构建.NET Core 3应用程序”,并需要.Net 4.8。

创建新应用程序/项目时,该项目通过netcoreapp3.0目标框架声明对.Net Core 3.0的依赖。


这是可能的,只是一个不受支持的场景。从您提供的博客中可以看到:“目前可以在Visual Studio 2017 15.9中打开.NET Core 3.0项目,但这不是一个受支持的场景(您需要启用预览)。” - user247702
真的,但它是“不支持的情况”,仅仅因为你可以做并不意味着你应该。然后有些事情开始发生而你不知道为什么... 感谢您的回复@Stijn! - Trevor
1
我同意“仅仅因为你能做到并不意味着你应该这样做” :) 最好还是使用2019预览版。 - user247702

4
我遇到了相同的问题,这篇文章帮忙解决了。

1. 检查是否安装了.NET Core SDK 3.x

enter image description here

如果没有安装,前往官方的.NET Core 3下载页面获取并安装后再次尝试。 https://dotnet.microsoft.com/download/dotnet-core/3.0

2. 启用.NET Core SDKs预览版

enter image description here

.NET Core 3.0 预览版1是最后一个与Visual Studio 15.9(又名Visual Studio 2017)兼容的版本:包括夜间版在内的任何后续版本都需要VS 16.0+,也就是Visual Studio 2019。

3. 检查PATH环境变量

enter image description here

参考: https://www.ryadel.com/en/current-net-sdk-not-support-net-core-3-0-fix/


3
要创建或打开针对.NET Core 3.0的应用程序,需要使用Visual Studio 2019或更新版本。在创建新项目时,Visual Studio可能会显示一个黄色栏,其中包含消息:“此版本的Visual Studio不支持ASP.NET Core 3.0或更高版本的项目”。
更多信息请参见:https://github.com/aspnet/Tooling/blob/master/dotnet-core-3.0-preview1.md

2
您需要从 Visual Studio 的工具 | 选项 | 项目和解决方案 | .NET Core 中启用“使用 .NET Core SDK 预览版”。
在此之后,您需要重新启动 Visual Studio,然后您就可以使用“.NET Core 3”项目了。
您还可以访问YouTube页面,了解有关“.NET Core 3”的任何进一步查询。

0

如果你是从未来来到这里,而且没有特别的原因留在2017年,升级到2019年将解决这个问题。


0

安装.NET Core 2.0。Visual Studio 2017适用于版本2.0、1.1和1.0的.NET Core。


这是一个老问题,你的帖子并没有回答这个问题,而且这个问题已经被标记为已解决。 - Rubenisme
你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community
这并没有回答问题。一旦您拥有足够的声望,您将能够评论任何帖子;相反,提供不需要询问者澄清的答案。- 来自审核 - 777moneymaker

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接