繁体   English   中英

当前 .NET SDK 不支持针对 .NET Core 3.0 | 3.1 | 5.0 | 6.0

[英]The current .NET SDK does not support targeting .NET Core 3.0 | 3.1 | 5.0 | 6.0

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

在此处输入图像描述

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

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.

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

{
  "sdk": {
    "version": "3.0.100"
  }
}

我知道我可以编辑MSBuildSDKsPath变量以指向3.0.100 SDK,它可以工作,但我不想这样做,我的机器上有其他项目仍需要使用旧版本的 .NET Core .

有没有办法让dotnet工具使用 global.json 中所述的global.json而不是MSBuildSDKsPath中的那个?

编辑:我使用 Visual Studio Code

您还必须将您的visual studio更新到支持的最低版本:

.NET 核心3.0

  • 最低visual studio v16.3

.NET 核心 3.1

  • 最低visual studio v16.5

.NET 核心5.0

  • 最小visual studio v16.6 latest preview

.NET 核心6.0

  • 最小visual studio v17.0 latest preview

在此处输入图像描述

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


![在此处输入图像描述

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


在此处输入图像描述

https://dotnet.microsoft.com/download/dotnet/5.0


在此处输入图像描述

https://dotnet.microsoft.com/download/dotnet/6.0

我在使用 .NET 6 的 Azure DevOps 中遇到了这个错误:

错误 NETSDK1045:当前 .NET SDK 不支持定位 .NET 6.0。 以 .NET 5.0 或更低版本为目标,或使用支持 Z303CB0EF9EDB9082AZD61BBBE5825D972AZ SDK 的 .NET 版本。

在此处输入图像描述

通过像这样包含 SDK 来解决:

steps:
- task: UseDotNet@2
  displayName: 'Install .NET 6 SDK'
  inputs:
    version: 6.0.x
    performMultiLevelLookup: true

https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/dotnet-core?view=azure-devops&tabs=dotnetfive#build-environment

关于该问题的 Github 线程:

https://github.com/dotnet/core/issues/6907

问题将通过下面的清单得到解决

  1. 环境变量(将其设置为根文件夹),例如。 C:/Program Files/DotNet 作为 PATH 变量 - 重新启动以使更改受到影响

  2. 检查 Visual Studio 版本

  3. 运行 dotnet --info 以检查 SDK 是否已安装

  4. 如果在环境变量中设置了 MSBuildSDKPath,则删除它

尝试使用 JetBrains Rider 构建解决方案时,我遇到了同样的错误。 问题原来是 Rider 使用了错误的 msbuild.exe。 它是自动检测 2017 版本而不是 2019。我必须在File | Settings | Build, Execution, Deployment | Toolset and Build中的 JetBrains 设置中手动调整它。 File | Settings | Build, Execution, Deployment | Toolset and Build File | Settings | Build, Execution, Deployment | Toolset and Build 在此处查看更多详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM