Installieren von .NET unter Windows
In diesem Artikel wird erläutert, wie Sie .NET unter Windows installieren. .NET besteht aus der Runtime und dem SDK. Die Runtime wird zum Ausführen von .NET-Apps verwendet und ist möglicherweise bereits in der App enthalten. Das SDK wird zum Erstellen von .NET-Apps und -Bibliotheken verwendet. Die .NET-Runtime wird immer mit dem SDK installiert.
Die aktuelle Version von .NET ist 7.
Es gibt zwei Arten von unterstützten Releases: LTS (Long Term Support) oder STS (Standard Term Support). Die Qualität aller Releases ist gleich. Der einzige Unterschied ist die Dauer des Supports. LTS-Releases erhalten für 3 Jahre kostenlosen Support und Patches. STS-Releases erhalten für 18 Monate kostenlosen Support und Patches. Weitere Informationen finden Sie in den Unterstützungsrichtlinien zu .NET.
Die folgende Tabelle enthält den Unterstützungsstatus jeder Version von .NET (und .NET Core):
✔️ Unterstützt | ❌ Nicht unterstützt |
---|---|
7 (STS) | 5 |
6 (LTS) | 3.1 |
3.0 | |
2.1 | |
2.0 | |
1.1 | |
1.0 |
Installieren mit Windows-Paket-Manager (winget)
Sie können .NET mithilfe des winget-Tools über den Windows-Paket-Manager-Dienst installieren und verwalten. Weitere Informationen zum Installieren und Verwenden von winget finden Sie unter Verwenden des Winget-Tools.
Wenn Sie .NET systemweit installieren, führen Sie die Installation mit Administratorrechten aus.
Installieren des SDKs
Das .NET SDK ermöglicht die Entwicklung von Apps mit .NET. Wenn Sie das .NET SDK installieren, müssen Sie die zugehörigen Runtimes nicht installieren. Führen Sie den folgenden Befehl aus, um das .NET SDK zu installieren:
winget install Microsoft.DotNet.SDK.7
Installieren der Runtime
Für Windows gibt es drei .NET-Runtimes, die Sie installieren können. Sie sollten sowohl die .NET-Desktopruntime als auch die ASP.NET Core-Runtime installieren, um Kompatibilität mit allen Typen von .NET-Apps sicherzustellen.
.NET-Desktopruntime
Diese Runtime umfasst die .NET-Basisruntime und unterstützt Windows Presentation Foundation (WPF) und Windows Forms-Apps, die mit .NET erstellt wurden. Sie ist nicht mit .NET Framework identisch, das in Windows enthalten ist.
winget install Microsoft.DotNet.DesktopRuntime.7
ASP.NET Core-Runtime
Diese Runtime umfasst die .NET-Basisruntime und führt Webserver-Apps aus. Die ASP.NET Core-Runtime ermöglicht die Ausführung von Apps, die mit .NET erstellt wurden und die Runtime nicht enthalten. Durch die folgenden Befehle wird die ASP.NET Core-Runtime installiert, d. h. die Runtime für .NET mit der höchsten Kompatibilität. Führen Sie in Ihrem Terminal die folgenden Befehle aus:
winget install Microsoft.DotNet.AspNetCore.7
.NETRuntime
Dies ist die Basislaufzeit und enthält nur die Komponenten, die zum Ausführen einer Konsolen-App erforderlich sind. In der Regel installieren Sie die anderen Runtimes.
winget install Microsoft.DotNet.Runtime.7
Sie können Vorschauversionen der Runtimes installieren, indem Sie die Versionsnummer, z. B. 6
, durch das Wort Preview
ersetzen. Im folgenden Beispiel wird die Vorschauversion der .NET-Desktopruntime installiert:
winget install Microsoft.DotNet.DesktopRuntime.Preview
Installieren zusammen mit Visual Studio Code
Visual Studio Code ist ein leistungsstarker und einfacher Quellcode-Editor, der auf Ihrem Desktop ausgeführt wird. Visual Studio Code ist für Windows, macOS und Linux verfügbar.
Zwar verfügt Visual Studio Code im Gegensatz zu Visual Studio nicht über ein automatisiertes .NET Core-Installationsprogramm, allerdings ist das Hinzufügen der Unterstützung von .NET Core einfach.
- Laden Sie Visual Studio Code herunter, und installieren Sie das Tool.
- Laden Sie das .NET SDK herunter, und installieren Sie es.
- Installieren Sie die C#-Erweiterung aus dem Visual Studio Code Marketplace.
Installieren mit dem Windows Installer
Die Downloadseite für .NET bietet ausführbare Windows Installer-Dateien.
Wenn Sie Windows Installer für die Installation von .NET verwenden, können Sie den Installationspfad durch Festlegung der Parameter DOTNETHOME_X64
und DOTNETHOME_X86
anpassen:
dotnet-sdk-7.0.100-win-x64.exe DOTNETHOME_X64="F:\dotnet\x64" DOTNETHOME_X86="F:\dotnet\x86"
Wenn Sie .NET im Hintergrund installieren möchten (z. B. in einer Produktionsumgebung oder zur Unterstützung von Continuous Integration), sollten Sie die folgenden Schalter verwenden:
/install
Installiert .NET./quiet
Verhindert, dass die Benutzeroberfläche und Eingabeaufforderungen angezeigt werden/norestart
Unterdrückt alle Neustartversuche.
dotnet-sdk-7.0.100-win-x64.exe /install /quiet /norestart
Weitere Informationen finden Sie unter Standardbefehlszeilenoptionen für Installer.
Tipp
Der Installer gibt bei Erfolg den Exitcode 0 zurück. Wenn ein Neustart erforderlich ist, wird der Exitcode 3010 zurückgegeben. Bei allen anderen Werten handelt es sich um Fehlercodes.
Installieren mit PowerShell-Automatisierung
Die dotnet-install-Skripts werden für die CI-Automatisierung und Installationen der Runtime durch Benutzer ohne Administratorrechte verwendet. Sie können das Skript über die Seite dotnet-install-Skriptverweis herunterladen.
Das Skript installiert standardmäßig die aktuelle Version mit LTS (Long-Term Support), die derzeit .NET 6 entspricht. Sie können eine bestimmte Version durch Angeben der Channel
-Option auswählen. Schließen Sie die Runtime
-Option mit ein, um eine Runtime zu installieren. Andernfalls installiert das Skript das SDK nicht.
Durch den folgenden Befehl wird die ASP.NET Core-Runtime für maximale Kompatibilität installiert. Die ASP.NET Core-Runtime enthält auch die .NET-Standardruntime.
dotnet-install.ps1 -Channel 7.0 -Runtime aspnetcore
Installieren Sie das SDK, und lassen Sie dabei den Parameter -Runtime
weg. Der Schalter -Channel
ist in diesem Beispiel auf STS
festgelegt, wodurch die neueste Version mit Support für Standardlaufzeiten (.NET 7) installiert wird.
dotnet-install.ps1 -Channel STS
Installieren mit Visual Studio
Für den Fall, dass Sie Visual Studio zum Entwickeln von .NET-Apps verwenden, finden Sie in der folgenden Tabelle die mindestens erforderliche Version von Visual Studio basierend auf der .NET SDK-Zielversion.
Version des .NET SDK | Visual Studio-Version |
---|---|
7 | Visual Studio 2022 Version 17.4 oder höher. |
6 | Visual Studio 2022 Version 17.0 oder höher. |
5 | Visual Studio 2019 Version 16.8 oder höher |
3.1 | Visual Studio 2019 Version 16.4 oder höher |
3.0 | Visual Studio 2019 Version 16.3 oder höher |
2.2 | Visual Studio 2017 Version 15.9 oder höher |
2.1 | Visual Studio 2017 Version 15.7 oder höher |
Wenn Sie Visual Studio bereits installiert haben, können Sie Ihre Version mit den folgenden Schritten überprüfen.
- Öffnen Sie Visual Studio.
- Klicken Sie auf Hilfe>Info.
- Informieren Sie sich über die Versionsnummer im Dialogfeld Info.
Visual Studio kann das neueste .NET SDK und die Runtime installieren.
Workload auswählen
Wählen Sie in Abhängigkeit vom Typ der von Ihnen erstellten Anwendung beim Installieren oder Ändern von Visual Studio mindestens eine der folgenden Workloads aus:
- Die Workload Plattformübergreifende .NET Core-Entwicklung im Abschnitt Weitere Toolsets
- Die Workload ASP.NET und Webentwicklung im Abschnitt Web und Cloud
- Die Azure-Entwicklungsworkload im Abschnitt Web & Cloud.
- Die Workload .NET-Desktopentwicklung im Abschnitt Desktop- und Mobilgeräte
Unterstützte Versionen
Die folgende Tabelle enthält die derzeit unterstützten .NET-Releases und die Windows-Versionen, unter denen sie unterstützt werden. Diese Versionen werden so lange unterstützt, bis entweder die Version von .NET das Ende des Supports oder die Version von Windows das Ende ihrer Lebensdauer erreicht.
Die Enddaten für den Support der einzelnen Windows 10-Versionen sind nach Editionen unterteilt. In der folgenden Tabelle werden nur die Editionen Home, Pro, Pro Education und Pro for Workstations berücksichtigt. Weitere Details finden Sie im Informationsblatt zum Lebenszyklus von Windows.
Tipp
Die mindestens erforderliche Version ist mit einem +
-Zeichen markiert.
Betriebssystem | .NET 7 | .NET 6 |
---|---|---|
Windows 11 | ✔️ | ✔️ |
Windows Server 2022 | ✔️ | ✔️ |
Windows Server, Version 1903 oder höher | ✔️ | ✔️ |
Windows 10, Version 1607 oder höher | ✔️ | ✔️ |
Windows 8.1 | ❌ | ✔️ |
Windows 7 SP1 ESU | ❌ | ✔️ |
Windows Server 2019 Windows Server 2016 Windows Server 2012 R2 Windows Server 2012 |
✔️ | |
Windows Server Core 2012 R2 | ✔️ | ✔️ |
Windows Server Core 2012 | ✔️ | ✔️ |
Nano Server, Version 1809+ | ✔️ | ✔️ |
Nano Server, Version 1803 | ❌ | ❌ |
Weitere Informationen zu den von .NET 7 unterstützten Betriebssystemen, Distributionen und Lebenszyklusrichtlinien finden Sie unter Von .NET 7 unterstützte Betriebssystemversionen.
Nicht unterstützte Versionen
Die folgenden Versionen von .NET werden ❌ nicht mehr unterstützt:
- .NET 5
- .NET Core 3.1
- .NET Core 3.0
- .NET Core 2.2
- .NET Core 2.1
- .NET Core 2.0
Informationen zur Runtime
Die Runtime wird zur Ausführung von mit .NET erstellten Apps verwendet. Wenn ein App-Autor eine App veröffentlicht, kann er die Runtime zusammen mit seiner App bereitstellen. Wenn er die Runtime nicht hinzufügt, ist es dem Benutzer überlassen, die Runtime zu installieren.
Es gibt drei verschiedene Runtimes, die Sie unter Windows installieren können:
ASP.NET Core-Runtime
Führt ASP.NET Core-Apps aus Enthält die .NET-RuntimeDesktopruntime
Führt .NET-Desktop-Apps für Windows aus, die unter WPF oder Windows Forms erstellt wurden Enthält die .NET-Runtime.NET-Runtime
Hierbei handelt es sich um die einfachste Runtime, die keine weiteren Runtimes beinhaltet. Es wird dringend empfohlen, sowohl die ASP.NET Core-Runtime als auch die Desktopruntime zu installieren, um die bestmögliche Kompatibilität mit .NET-Apps zu erzielen.
Informationen zum SDK
Das SDK wird zum Erstellen und Veröffentlichen von .NET-Apps und -Bibliotheken verwendet. Die Installation des SDK umfasst alle drei Runtimes: ASP.NET Core, Desktop und .NET.
Arm-basierte Windows-PCs
In den folgenden Abschnitten werden die Punkte beschrieben, die Sie bei der Installation von .NET auf einem Arm-basierten Windows-PC berücksichtigen sollten.
Unterstützte Funktionen
In der folgenden Tabelle wird beschrieben, welche Versionen von .NET auf einem Arm-basierten Windows-PC unterstützt werden:
.NET Version | Architektur | SDK | Typ | Pfadkonflikt |
---|---|---|---|---|
7 | ARM64 | Ja | Ja | Nein |
7 | x64 | Ja | Ja | Nein |
6 | ARM64 | Ja | Ja | Nein |
6 | x64 | Ja | Ja | Nein |
5 | ARM64 | Ja | Ja | Ja |
5 | x64 | Nein | Ja | Ja |
Ab .NET 6 sind die x64- und Arm64-Versionen des .NET SDK voneinander unabhängig. Wenn eine neue Version veröffentlicht wird, muss jede Installation aktualisiert werden.
Pfadunterschiede
Auf einem Arm-basierten Windows-PC werden alle Arm64-Versionen von .NET im Ordner C:\Programme\dotnet\ installiert. Wenn Sie jedoch die x64-Version des .NET 6 SDK oder .NET 7 SDK installieren, wird sie im Ordner C:\Programme\dotnet\x64\ installiert.
Pfadkonflikte
Ab .NET 6 wird das .NET SDK für x64-Plattformen in seinem eigenen Verzeichnis installiert, wie im vorherigen Abschnitt beschrieben. Dadurch können die Arm64- und x64-Versionen des .NET SDK auf demselben Computer vorhanden sein. Allerdings werden x64-SDKs vor Version 6 nicht unterstützt und am gleichen Speicherort wie die Arm64-Version im Ordner C:\Program Files\dotnet\ installiert. Wenn Sie ein nicht unterstütztes x64-SDK installieren möchten, müssen Sie zuerst die Arm64-Version deinstallieren. Das Gegenteil ist ebenfalls zutreffend: Sie müssen das nicht unterstützte x64-SDK deinstallieren, um die Arm64-Version zu installieren.
Pfadvariablen
Umgebungsvariablen, die .NET dem Systempfad hinzufügen (z. B. die Variable PATH
), müssen möglicherweise geändert werden, wenn Sie sowohl die x64- als auch die Arm64-Version des .NET SDK installiert haben. Außerdem sind einige Tools auf die Umgebungsvariable DOTNET_ROOT
angewiesen, die ebenfalls aktualisiert werden müsste, um auf den entsprechenden Installationsordner des .NET SDK zu verweisen.
Abhängigkeiten
Die folgenden Windows-Versionen werden von .NET 7 unterstützt:
Hinweis
Die mindestens erforderliche Version ist mit einem +
-Zeichen markiert.
Betriebssystem | Version | Architekturen |
---|---|---|
Windows 11 | 21H2+ | x64, Arm64 |
Windows 10-Client | 1607 und höher | x64, x86, Arm64 |
Windows Server | 2012 oder höher | x64, x86 |
Windows Server Core | 2012 oder höher | x64, x86 |
Nano Server | 1809 und höher | x64 |
Weitere Informationen zu den von .NET 7 unterstützten Betriebssystemen, Distributionen und Lebenszyklusrichtlinien finden Sie unter Von .NET 7 unterstützte Betriebssystemversionen.
Windows 7/8.1/Server 2012
Weitere Abhängigkeiten sind erforderlich, wenn Sie .NET SDK oder -Runtime unter den folgenden Windows-Versionen installieren:
Betriebssystem | Voraussetzungen |
---|---|
Windows 7 SP1 ESU | – Microsoft Visual C++ 2015-2019 Redistributable 64-Bit / 32-Bit – KB3063858 64-Bit / 32-Bit - Microsoft Root Certificate Authority 2011 (nur das Offline-Installationsprogramm von .NET Core 2.1) |
Windows 8.1 | Microsoft Visual C++ 2015-2019 Redistributable 64-Bit / 32-Bit |
Windows Server 2012 | Microsoft Visual C++ 2015-2019 Redistributable 64-Bit / 32-Bit |
Windows Server 2012 R2 | Microsoft Visual C++ 2015-2019 Redistributable 64-Bit / 32-Bit |
Die vorherigen Anforderungen gelten auch, wenn ein Fehler im Zusammenhang mit einer der folgenden DLLs auftritt:
- api-ms-win-crt-runtime-l1-1-0.dll
- api-ms-win-cor-timezone-l1-1-0.dll
- hostfxr.dll
Docker
Container bieten eine einfache Möglichkeit, Ihre Anwendung vom Rest des Hostsystems zu isolieren. Container auf demselben Computer teilen nur den Kernel und verwenden die Ihrer Anwendung zur Verfügung gestellten Ressourcen.
.NET kann in einem Docker-Container ausgeführt werden. Offizielle Docker-Images für .NET werden in Microsoft Container Registry (MCR) veröffentlicht und sind im Microsoft .NETDocker-Hub-Repository verfügbar. Jedes Repository enthält Images für verschiedene Kombinationen von .NET (SDK oder Runtime) und das Betriebssystem, die Sie verwenden können.
Microsoft stellt Images bereit, die auf bestimmte Szenarien zugeschnitten sind. So stellt beispielsweise das ASP.NET Core-Repository Images bereit, die für die Ausführung von ASP.NET Core-Apps in der Produktion erstellt wurden.
Weitere Informationen zur Verwendung von .NET in einem Docker-Container finden Sie unter Einführung zu .NET und Docker und in den Docker-Beispielen.
Problembehandlung
Nach der Installation des .NET SDK können Probleme beim Ausführen von .NET-CLI-Befehlen auftreten. In diesem Abschnitt werden diese häufig auftretenden Probleme gesammelt und Lösungen bereitgestellt.
Es wurden keine installierten .NET Core SDKs gefunden
Der Grund hierfür ist wahrscheinlich, dass Sie sowohl die x86-Version (32 Bit) als auch die x64-Version (64 Bit) des .NET SDK installiert haben. Dies verursacht einen Konflikt, da der Befehl beim Ausführen des Befehls dotnet
in die x86-Version aufgelöst wird, wenn er in die x64-Version aufgelöst werden soll. Dies wird in der Regel behoben, indem die %PATH%
-Variable angepasst wird, um zuerst die x64-Version aufzulösen.
Vergewissern Sie sich, dass beide Versionen installiert sind, indem Sie den
where.exe dotnet
-Befehl ausführen. Wenn Sie dies tun, sollte ein Eintrag für die Ordner Programme\ und Programme (x86)\ angezeigt werden. Wenn der Ordner Programme (x86)\ an erster Stelle steht, wie im folgenden Beispiel gezeigt, ist dies falsch und Sie sollten mit dem nächsten Schritt fortfahren.> where.exe dotnet C:\Program Files (x86)\dotnet\dotnet.exe C:\Program Files\dotnet\dotnet.exe
Wenn es richtig ist und Programme an erster Stelle steht, haben Sie nicht das Problem, das in diesem Abschnitt behandelt wird, und Sie sollten ein .NET-Issue zur Anforderung von Hilfe auf GitHub erstellen
Drücken Sie die Windows-Schaltfläche, und geben Sie „Systemumgebungsvariablen bearbeiten“ in die Suche ein. Wählen Sie Die Systemumgebungsvariablen bearbeiten aus.
Das Fenster Systemeigenschaften wird zur Registerkarte Erweitert geöffnet. Wählen Sie Umgebungsvariablen aus.
Wählen Sie im Fenster Umgebungsvariablen unter der Gruppe Systemvariablen die Zeile Pfad* und dann die Schaltfläche Bearbeiten aus.
Verwenden Sie die Schaltflächen Nach oben und Nach unten, um den Eintrag C:\Programme\dotnet\ über C:\Programme (x86)\dotnet\ zu verschieben.