Delen via


NETSDK1045: De huidige .NET SDK biedt geen ondersteuning voor 'nieuwere versie' als doel.

Dit artikel is van toepassing op: ✔️ .NET Core 2.1.100 SDK en latere versies

Deze fout treedt op wanneer de buildhulpprogramma's de versie van de .NET SDK niet kunnen vinden die nodig is om een project te bouwen. Dit wordt meestal veroorzaakt door een installatie- of configuratieprobleem met de .NET SDK. Het volledige foutbericht is vergelijkbaar met het volgende voorbeeld:

NETSDK1045: De huidige .NET SDK biedt geen ondersteuning voor 'nieuwere versie' als doel. Doel 'oudere versie' of lager, of gebruik een .NET SDK-versie die ondersteuning biedt voor 'nieuwere versie'.

In de volgende secties worden enkele mogelijke redenen voor deze fout beschreven. Controleer elk exemplaar en kijk welke van toepassing is op u. Houd er rekening mee dat wanneer u wijzigingen aanbrengt in de omgeving of de configuratiebestanden, u mogelijk opdrachtvensters opnieuw moet opstarten, Visual Studio opnieuw moet starten of uw computer opnieuw moet opstarten, zodat uw wijzigingen van kracht worden.

.NET SDK-versie

Open het projectbestand (.csproj, .vbproj of .fsproj) en controleer het doelframework. Dit is de versie van het framework dat uw app probeert te gebruiken.

<TargetFramework>netcoreapp3.0</TargetFramework>

Zorg ervoor dat de vermelde versie van .NET op de computer is geïnstalleerd. U kunt de geïnstalleerde versies weergeven met behulp van de volgende opdracht (open een opdrachtprompt voor ontwikkelaars en voer deze opdracht uit):

dotnet --list-sdks

x86- of x64-architectuur

Elke versie van de .NET SDK is beschikbaar in zowel x86- als x64-architectuur. Het project probeert mogelijk de .NET SDK te vinden voor de verkeerde architectuur of de .NET SDK voor de architectuur die uw project nodig heeft, is mogelijk niet geïnstalleerd. Controleer de installatiemappen voor de architectuur die u nodig hebt. In Windows wordt bijvoorbeeld de x86-versie van de .NET SDK geïnstalleerd in C:\Program Files (x86)\dotnet en wordt de x64-versie geïnstalleerd in C:\Program Files\dotnet. Zie Hoe u controleert of .NET al is geïnstalleerd en kies uw besturingssysteem om erachter te komen hoe u detecteert wat er op uw computer is geïnstalleerd.

Als de versie die u nodig hebt niet is geïnstalleerd, zoekt u de versie die u nodig hebt op de pagina .NET-downloads .

Visual Studio-versie

De .NET SDK is mogelijk geïnstalleerd met Visual Studio 2022, dus een upgrade naar een latere versie van Visual Studio kan een latere .NET SDK installeren en deze fout oplossen. Zie Visual Studio bijwerken voor meer informatie.

Voorbeeld niet ingeschakeld

Als u een preview-versie van de aangevraagde .NET SDK-versie hebt geïnstalleerd, moet u ook de optie instellen om previews in Te schakelen in Visual Studio. Ga naar De preview-functies voor de omgevingsvoorbeelden>van extra's>>en zorg ervoor dat previews van de .NET Core SDK zijn ingeschakeld.

Visual Studio-versie

Voor .NET Core 3.0 en hoger is bijvoorbeeld Visual Studio 2019 vereist. Voer een upgrade uit naar Visual Studio 2019 versie 16.3 of hoger om uw project te bouwen.

PATH-omgevingsvariabele

De buildhulpprogramma's gebruiken de omgevingsvariabele PATH om de juiste versie van de .NET-buildhulpprogramma's te vinden. Als de omgevingsvariabele PATH directe paden naar oudere buildhulpprogramma's bevat, kan dit foutbericht worden weergegeven. Zorg ervoor dat het enige pad naar de .NET-hulpprogramma's in de omgevingsvariabele PATH is naar de map dotnet op het hoogste niveau, bijvoorbeeld C:\Program Files\dotnet. Een voorbeeld van een onjuist PAD is bijvoorbeeld C:\Program Files\dotnet\2.1.0\sdks.

MSBuildSDKPath-omgevingsvariabele

Controleer de omgevingsvariabele MSBuildSDKPath. Deze optionele omgevingsvariabele wordt herkend door MSBuild en als deze is ingesteld, wordt de standaardwaarde overschreven. Deze kan worden ingesteld op een specifieke oudere versie van de .NET SDK. Als deze is ingesteld, verwijdert u het en bouwt u het project opnieuw.

global.json-bestand

Controleer op een global.json-bestand in de hoofdmap in uw project en in uw oplossing, en maak de mapketen naar de hoofdmap van het volume, omdat het overal in de mapstructuur kan zijn. Als het een SDK-versie bevat, verwijdert u het sdk knooppunt en alle onderliggende items of werkt u het bij naar de gewenste nieuwere .NET Core-versie.

{
  "sdk": {
    "version": "2.1.0"
  }
}

Het global.json bestand is niet vereist. Als het dus niets anders bevat dan het sdk knooppunt, kunt u het hele bestand verwijderen.

Bestand Directory.build.props

Het bestand Directory.build.props is een optioneel MSBuild-bestand dat globale eigenschappen kan instellen. Controleer op deze bestanden in de oplossingsmap en de mapketen naar de hoofdmap van het volume, omdat ze zich overal in de mapstructuur kunnen bevinden. TargetFramework Zoek naar elementen of instellingen waarvan MSBuildSDKPath de gewenste instellingen kunnen worden overschreven.

Zie ook