当前的.NET SDK不支持定位.NET Core 2.2。(SDK 2.2.202)

Cul*_*tes 2 c# visual-studio .net-core .net-core-2.2

许多类似问题中的另一个问题,但没有找到所寻求的解决方案,对此有所帮助(请参阅下面的内容)。

在撰写本文时,.NET Core v2.2已无法预览,最新版本为v2.2.202(发布日期,02-04-2019)。

我通过“安装其他框架”安装了那个,我安装了x64一个,较早安装的所有其他版本也是那个版本。

安装后,当我创建一个新项目时,它会显示:

在此处输入图片说明

但是,当我然后打开属性时,它不会:

在此处输入图片说明

在此处输入图片说明

dotnet --info 在项目目录中,得到以下结果:

.NET Core SDK (reflecting any global.json):
 Version:   2.2.202
 Commit:    8a7ff6789d

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17134
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.2.202\

Host (useful for support):
  Version: 2.2.3
  Commit:  6b8ad509b6

.NET Core SDKs installed:
  2.1.2 [C:\Program Files\dotnet\sdk]
  2.1.4 [C:\Program Files\dotnet\sdk]
  2.1.201 [C:\Program Files\dotnet\sdk]
  2.1.202 [C:\Program Files\dotnet\sdk]
  2.1.401 [C:\Program Files\dotnet\sdk]
  2.1.505 [C:\Program Files\dotnet\sdk]
  2.2.202 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.3-servicing-26724-03 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download
Run Code Online (Sandbox Code Playgroud)

我试过了:

  • 创建一个global.json(SO Answer),这只会产生更多错误,因为它无法加载针对v2.2的项目
  • 在“设置”中启用预览SDK(SO回答
  • 我曾尝试安装x86版本,但由于现在对使用哪个版本感到困惑,这也带来了更多错误。这样就开始抱怨没有安装.NET Standard。
  • 我已经将Visual Studio和Visual Studio生成工具更新为最新版本15.9.11(发布日期,02-04-2019)
  • 当我dotnet build在解决方案目录中通过命令行构建时,它构建成功,因此它必须是Visual Studio。
  • 验证了只有C:\Program Files\dotnet\在环境变量,所以C:\Program Files (x86)\dotnet\存在。
  • 查看了这些选项,全部都做了,但是我没有设置MSBuildSDKsPath环境变量,因为我还有其他需要2.1的项目。我检查了当前没有MSBuildSDKsPath设置,因此不应将其强制设置为该版本。

在此处输入图片说明

上述所有尝试当然都涉及重新启动计算机或重新启动VS。

Mar*_*ich 7

这很可能看起来像是针对VS的安装程序优化,它消除了过于贪婪的旧SDK,并删除了VS较旧版本所依赖的版本,但是目前,这只是MS团队进行调查时的一种假设。有关更多类似报告,请参见GitHub问题

2.2.1xx SDK(!)版本使用MSBuild 15,而2.2.2xx版本使用MSBuild 16。

VS 2017需要解析与MSBuild 15兼容的本地版本,因此,如果在升级过程中删除了2.2.1xx,则可能会失败。

您可以通过从https://dotnet.microsoft.com/download/dotnet-core/2.2重新安装兼容版本(例如2.2.105)来解决此问题。

为了找出哪个SDK使用了哪些组件,您可以检查DependencyVersions.props<3.0源中的Versions.props文件以及> = 3.0(预览)源中的文件-通过MicrosoftBuildPackageVersion属性设置了MSBuild版本。