.Net Core 1.x 项目在升级到 VS 2017 后无法启动

.Net Core 1.x projects won't start after upgrading to VS 2017

我已经使用 VS 2017 一段时间了,最​​近升级到 VS 2017 15.4 只是为了看看 .NET Core 2.0 的样子。但是,不知何故,我在 .NET Core 1.x 中的所有现有项目都无法启动(当我开始调试时,VS 将立即启动并退出)。当我将此项目的目标框架更改为 .NET Core 2.0 时,它们可以正常编译和加载。

现在,不确定它是否是一个已知错误,但必须有一种方法可以使任何版本的 VS 向后兼容,并且可以加载此版本的 VS 和 运行 旧版本的 .NET核。我错过了什么吗?

这是安装更高版本的 .NET Core SDK 后的预期行为。默认情况下,托管可执行文件 dotnet.exe 将始终 select 最高安装版本。

.NET Core 提供了细粒度的控制机制,允许选择应用程序应该使用哪个版本的 .NET Core。控制机制基于 global.json 个文件,这些文件用于为放置它们的目录和所有子目录设置 .NET Core 的版本。可以使用较低级别 global.json 文件覆盖较高级别 global.json 文件的设置,并且新设置将应用于放置文件的目录和所有子目录。

global.json 文件内容示例如下:

{
  "sdk": {
    "version": "1.0.4"
  }
}