当前的.NET SDK不支持定位.NET Core 3.0

use*_*730 3 .net msbuild .net-core

我刚刚下载了.NET Core 3.0.100的发行版本。
它与旧版本一起安装:

在此处输入图片说明

当我尝试运行dotnet restore针对.NET Core 3(<TargetFramework>netcoreapp3.0</TargetFramework>)的项目时,出现此错误

C:\Program Files\dotnet\sdk\2.2.202\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.TargetFrameworkInference.targets(137,5): error NETSDK1045: The current .NET SDK does not support targeting .NET Core 3.0.  Either target .NET Core 2.2 or lower, or use a version of the .NET SDK that supports .NET Core 3.0.
Run Code Online (Sandbox Code Playgroud)

我有一个global.json文件,该文件明确指出我需要3.0.100SDK

{
  "sdk": {
    "version": "3.0.100"
  }
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以编辑MSBuildSDKsPathenv变量以指向3.0.100SDK,并且它可以工作,但是我不想这样做,因为我的计算机上还有其他项目仍需要使用旧版本的.NET Core。

有没有一种方法可以使该dotnet工具使用所述的SDK global.json而不是其中的SDK MSBuildSDKsPath

编辑:我使用Visual Studio代码

Dom*_*nas 9

您还必须更新visual studio到最新版本(v16.3.0

在此处输入图片说明

https://dotnet.microsoft.com/download/dotnet-core/3.0

  • 这为我解决了这个问题。在 azure devops 管道中出现问题,将我的构建代理从 vs17 更改为 19 解决了问题。谢谢! (4认同)
  • 这个答案也与 Azure DevOps 作为 CI 平台的用户相关。构建代理(托管或本地)需要有权访问 VS 2019 的适当安装,并使用适当的 dotnet 工具版本来构建 3.0/3.1 项目。 (3认同)
  • 当您安装 .NET 预览版本时,请确保选中“使用 .NET Core SDK 预览”(工具 -&gt; 选项 -&gt; 预览功能) (2认同)