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

时间:2019-04-04 10:11:40

标签: c# visual-studio .net-core .net-core-2.2

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

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

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

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

enter image description here

但是当我然后打开属性时,它没有:

enter image description here

enter image description here

在项目目录中的

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

我尝试过:

  • 创建一个global.json(SO answer),这只会产生更多错误,因为它无法加载针对v2.2的项目
  • 在“设置(SO answer)中启用预览SDK”
  • 我曾尝试安装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\
  • 看了these options,他们都做了,但是我没有设置MSBuildSDKsPath环境变量,因为我还有其他需要2.1的项目。我检查了当前没有设置MSBuildSDKsPath,因此不应将其强制设置为该版本。

enter image description here

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

6 个答案:

答案 0 :(得分:6)

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

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

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

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

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

答案 1 :(得分:0)

Pff,经过越来越多的挖掘,我尝试安装旧版本的.NET Core 2.2。我安装了SDK v2.2.100(第一个稳定版本)。对于Visual Studio来说,似乎不再显示该错误似乎可行。因此,即使Visaul Studio V15.9.11和.NET Core SDK v2.2.202是在同一日期发布的(因此假定它们一起发布),但在未安装SDK v2.2.x的早期版本时仍然会出现错误。

答案 2 :(得分:0)

https://github.com/aspnet/AspNetCore.Docs/issues/11844中添加@ martin-ullrich的答案,因为这对我来说更有意义。 (也许因为是星期五,所以我只需要:“去这里做这个。”)

  

转到https://dotnet.microsoft.com/download/dotnet-core/2.2并   下载2.2.105版本的安装程序。任何> = 2.2.200   不适用于VS2017。2.2.105和2.2.202均包含最新版本   和最大的.NET Core 2.2版本,但它们的版本不同   它们包括并基于的工具-1xx系列是MSBuild   15.,NuGet 4等,而2xx列是MSBuild 16.,NuGet 5等,Visual Studio只寻找与之兼容的最新版本。   其MSBuild版本-对于VS 2017,这是2.1.502版本,   无法定位.NET Core 2.2。 (更令人困惑的是,现在有   带有VS 2019工具版本的2.1.6xx版本以及.NET Core 2.1运行时)

     

[@] leecow和[@] rowanmiller正在努力更新该页面   关于VS,另请参阅dotnet / core#2542和dotnet / sdk#3076   大约是同样的问题。


我的贡献:安装2.2.105后,我在目录C:\Program Files (x86)\dotnet\sdk和/或C:\Program Files\dotnet\sdk中删除了名为“ 2.2.202”的文件夹,以便{ {1}}现在读取以下内容:

enter image description here

答案 3 :(得分:0)

安装dotnet-sdk-2.2.103-win-x64可以解决此问题

答案 4 :(得分:0)

如果要使用asp.net核心版本而不是v2.2.100,请使用Visual Studio 2019而不是2017。 https://github.com/aspnet/AspNetCore.Docs/issues/11844

答案 5 :(得分:0)

如果您使用的是 Visual Studio 2017(v15.9),则需要安装.NET Core SDK版本 2.2.108 ,因为仅支持更高版本> Visual Studio 2019

请参阅下表以选择正确的下载。

enter image description here

还检查发布信息并下载链接here