c# - 当前的.NET SDK不支持以.NET Core 2.2为目标。(SDK 2.2.202)




visual-studio .net-core (4)

许多类似问题中的另一个,但搜索的解决方案都没有帮助(见下面看哪一个)。

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

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

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

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

dotnet --info 项目目录中的 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答案 ),这只会产生更多错误,因为它无法加载定位到v2.2的项目
  • 在设置中启用预览SDK( SO回答 )
  • 我已经尝试安装x86版本,但这也给出了更多的错误,因为它对于现在使用哪一个感到困惑。 因此开始抱怨没有安装.NET Standard。
  • 我已将Visual Studio和Visual Studio Build Tools更新到最新版本,即15.9.11(发布日期,02-04-2019)
  • 当我通过命令行 dotnet build 解决方案目录中的 dotnet build 时,它构建成功,因此它必须是可视化工作室的东西。
  • 验证只有 C:\Program Files\dotnet\ 位于环境变量中,因此 C:\Program Files (x86)\dotnet\ 存在。
  • 看看 这些选项 ,做了所有 这些选项 ,但我没有设置 MSBuildSDKsPath 环境变量,因为我还有其他需要2.1的项目。 我检查了当前没有设置 MSBuildSDKsPath 所以不应该强制它到那个版本。

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


Pff,经过越来越多的挖掘,我试图安装旧版本的.NET Core 2.2。 我安装了SDK v2.2.100(第一个稳定版)。 这似乎适用于视觉工作室不再显示错误。 因此,即使Visaul Studio V15.9.11和.NET Core SDK v2.2.202在同一天发布(因此假设它们一起发布),如果没有安装以前版本的SDK v2.2.x,它仍然会出错



这很可能看起来像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使用哪些组件,您可以检查<3.0源中的 DependencyVersions.props 文件和> = 3.0(预览)源的 Versions.props 文件 - 通过 MicrosoftBuildPackageVersion 属性设置MSBuild版本。


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将无法在VS 2017中运行.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为目标。 (并且为了增加更多的混乱,现在有2.1.6xx版本与VS 2019工具版本以及.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'的文件夹,以便 dotnet --info 现在读取以下内容:







.net-core-2.2