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

asp.net.Net.Net CoreMsbuild

asp.net Problem Overview


I've just downloaded the release version of .NET Core 3.0.100
It was installed alongside older version that I have:

enter image description here

When I try to run dotnet restore for a project that targets .NET Core 3 (<TargetFramework>netcoreapp3.0</TargetFramework>), I get this error

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.

I have a global.json file that explicitly states that I need the 3.0.100 SDK

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

I know that I can edit the MSBuildSDKsPath env variable to point to the 3.0.100 SDK, and it works, but I don't want to do it, I have other projects on my machine that still need to use older versions of .NET Core.

Is there a way to make the dotnet tool use the SDK that's stated in global.json instead of the one in MSBuildSDKsPath?

Edit: I use Visual Studio Code

asp.net Solutions


Solution 1 - asp.net

You also have to update your visual studio to the minimum supported version:

.NET Core 3.0

  • minimum visual studio v16.3

.NET Core 3.1

  • minimum visual studio v16.5

.NET Core 5.0

  • minimum visual studio v16.6 latest preview

.NET Core 6.0

  • minimum visual studio v17.0 latest preview

enter image description here

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


![enter image description here

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


enter image description here

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


enter image description here

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

Solution 2 - asp.net

I got this error in Azure DevOps with .NET 6:

> error NETSDK1045: The current .NET SDK does not support targeting .NET > 6.0. Either target .NET 5.0 or lower, or use a version of the .NET SDK that supports .NET 6.0.

enter image description here

Solved by including the SDK like this:

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 thread about the issue:

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

Solution 3 - asp.net

Issues will be resolved going through below are the checklist

  1. Environment Variable (Set it to Root folder) for ex. C:/Program Files/DotNet as PATH variable - Reboot to get changes affected

  2. Check Visual Studio Version

  3. Run dotnet --info to check SDKs are already installed

  4. Delete MSBuildSDKPath if it is set in Environment Variables

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser10962730View Question on Stackoverflow
Solution 1 - asp.netDominic JonasView Answer on Stackoverflow
Solution 2 - asp.netOgglasView Answer on Stackoverflow
Solution 3 - asp.netSekar NagarajView Answer on Stackoverflow