NETSDK1045: Das aktuelle .NET SDK unterstützt „höhere Version“ als Ziel nicht
Dieser Artikel gilt für: ✔️ .NET Core 2.1.100 SDK und höhere Versionen
Dieser Fehler tritt auf, wenn die Buildtools die Version des .NET SDK, das zum Erstellen eines Projekts erforderlich ist, nicht finden können. Dies ist in der Regel einem Problem im Zusammenhang mit der .NET SDK-Installation oder -Konfiguration geschuldet. Die vollständige Fehlermeldung ähnelt dem folgenden Beispiel:
NETSDK1045: The current .NET SDK does not support „newer version“ as a target. Either target „older version“ or lower, or use a .NET SDK version that supports „newer version“. (Das aktuelle .NET SDK unterstützt „höhere Version“ als Ziel nicht. Verwenden Sie entweder „frühere Version“ oder eine niedrigere Version als Ziel, oder verwenden Sie eine .NET SDK-Version, die die Version „höhere Version“ unterstützt.)
In den folgenden Abschnitten werden einige der möglichen Gründe für diesen Fehler erläutert. Sehen Sie sich die möglichen Ursachen an, und ermitteln Sie, welche auf Sie zutrifft. Beachten Sie, dass das Vornehmen von Änderungen an der Umgebung oder an Konfigurationsdateien möglicherweise einen Neustart von Befehlsfenstern, Visual Studio oder Ihres Computers erfordert, damit die Änderungen wirksam werden.
.NET SDK-Version
Öffnen Sie die Projektdatei (.csproj, .vbproj oder .fsproj), und überprüfen Sie das Zielframework. Dies ist die Frameworkversion, die Ihre App verwenden möchte.
<TargetFramework>netcoreapp3.0</TargetFramework>
Vergewissern Sie sich, dass die aufgeführte .NET-Version auf dem Computer installiert ist. Sie können die installierten Versionen auflisten, indem Sie den folgenden Befehl ausführen. Öffnen Sie eine Developer-Eingabeaufforderung, und führen Sie diesen Befehl aus:
dotnet --list-sdks
x86- oder x64-Architektur
Alle Versionen des .NET SDK sind sowohl als x86- als auch als x64-Architektur verfügbar. Das Projekt versucht möglicherweise, eine .NET SDK-Version für die falsche Architektur zu finden, oder das .NET SDK für die Architektur, die für Ihr Projekt erforderlich ist, ist nicht installiert. Bringen Sie in den Installationsordnern in Erfahrung, welche Architektur Sie benötigen. Unter Windows wird die x86-Version des .NET SDK beispielsweise unter C:\Programme (x86)\dotnet installiert, die x64-Version unter C:\Programme\dotnet. Informieren Sie sich im Artikel Überprüfen, ob .NET bereits installiert ist. Wählen Sie dabei Ihr Betriebssystem aus, um herauszufinden, wie Sie überprüfen können, welche Architekturversion auf Ihrem Computer installiert ist.
Wenn die von Ihnen benötige Version nicht installiert ist, können Sie die erforderliche Version auf der .NET-Downloadseite suchen.
Visual Studio-Version
Das .NET SDK wurde möglicherweise mit Visual Studio 2022 installiert. Mit einem Upgrade auf eine neuere Version von Visual Studio könnte daher ein neueres .NET SDK installiert und dieser Fehler behoben werden. Weitere Informationen finden Sie unter Update Visual Studio (Aktualisieren von Visual Studio).
Vorschau nicht aktiviert
Wenn Sie eine Vorschau der erforderlichen .NET SDK-Version installiert haben, müssen Sie auch die Option festlegen, dass Vorschauversionen in Visual Studio aktiviert werden. Navigieren Sie zu Extras>Optionen>Umgebung>Vorschaufeatures, und überprüfen Sie, ob Vorschauversionen des .NET Core SDK verwenden aktiviert ist.
Visual Studio-Version
Für .NET Core 3.0 und höher ist beispielsweise Visual Studio 2019 erforderlich. Führen Sie ein Upgrade auf Visual Studio 2019 Version 16.3 oder höher durch, um Ihr Projekt zu erstellen.
PATH-Umgebungsvariable
Die Buildtools verwenden die PATH-Umgebungsvariable, um die richtige Version der .NET-Buildtools zu finden. Wenn die PATH-Umgebungsvariable direkte Pfade zu älteren Buildtools enthält, kann diese Fehlermeldung auftreten. Sorgen Sie dafür, dass der einzige Pfad zu den .NET-Tools in der PATH-Umgebungsvariable der zum dotnet-Ordner der obersten Ebene ist, z. B. C:\Programme\dotnet. Ein Beispiel für einen fehlerhaften Pfad wäre C:\Programme\dotnet\2.1.0\sdks.
MSBuildSDKPath-Umgebungsvariable
Überprüfen Sie die MSBuildSDKPath-Umgebungsvariable. Diese optionale Umgebungsvariable wird von MSBuild erkannt. Wenn sie festgelegt ist, überschreibt sie den Standardwert. Sie kann auf eine bestimmte frühere Version des .NET SDK festgelegt werden. Wenn sie festgelegt ist, versuchen Sie, sie zu löschen, und Ihr Projekt neu zu erstellen.
global.json-Datei
Suchen Sie in Ihrem Projekt und in Ihrer Projektmappe nach einer global.json Datei im Stammordner und in der Projektmappe, und legen Sie die Verzeichniskette auf den Stamm des Volumes fest, da sie sich an einer beliebigen Stelle in der Ordnerstruktur befinden kann. Wenn die Datei eine SDK-Version enthält, löschen Sie den sdk
-Knoten und alle untergeordneten Elemente, oder Sie führen eine Aktualisierung auf die gewünschte höhere .NET Core-Version durch.
{
"sdk": {
"version": "2.1.0"
}
}
Die global.json-Datei ist nicht erforderlich. Wenn sie also keinen Inhalt hat außer dem sdk
-Knoten, können Sie die gesamte Datei löschen.
Directory.build.props-Datei
Die Directory.build.props-Datei ist eine optionale MSBuild-Datei, in der globale Eigenschaften festgelegt werden können. Suchen Sie nach diesen Dateien im Projektmappenordner sowie in allen Verzeichnissen bis zum Stammordner des Volumes, da sie sich überall in der Ordnerstruktur befinden können. Suchen Sie nach TargetFramework
-Elementen oder nach Einstellungen für MSBuildSDKPath
, die Ihre gewünschten Einstellungen überschreiben könnten.