[英]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
更新到支持的最低版本:
visual studio v16.3
visual studio v16.5
visual studio v16.6 latest preview
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 )
我在使用 .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
关于该问题的 Github 线程:
问题将通过下面的清单得到解决
环境变量(将其设置为根文件夹),例如。 C:/Program Files/DotNet 作为 PATH 变量 - 重新启动以使更改受到影响
检查 Visual Studio 版本
运行 dotnet --info 以检查 SDK 是否已安装
如果在环境变量中设置了 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.