.NET installeren in Windows

In dit artikel leert u hoe u .NET installeert in Windows. .NET bestaat uit de runtime en de SDK. De runtime wordt gebruikt om een .NET-app uit te voeren en kan worden opgenomen in de app. De SDK wordt gebruikt om .NET-apps en -bibliotheken te maken. De .NET-runtime wordt altijd geïnstalleerd met de SDK.

De nieuwste versie van .NET is 8.0.

Er zijn twee soorten ondersteunde releases: LTS-releases (Long Term Support) en STS-releases (Standard Term Support). De kwaliteit van alle releases is hetzelfde. Het enige verschil is de lengte van de ondersteuning. LTS-releases krijgen drie jaar gratis ondersteuning en patches. STS-releases krijgen gedurende 18 maanden gratis ondersteuning en patches. Zie .NET-ondersteuningsbeleid voor meer informatie.

De volgende tabel bevat de ondersteuningsstatus van elke versie van .NET (en .NET Core):

✔️ Ondersteund ❌ Unsupported
8 (LTS) 5
7 (STS) 3.1
6 (LTS) 3,0
2.1
2.0
1.1
1.0

Installeren met Windows-pakketbeheerder (winget)

U kunt .NET installeren en beheren via de Windows-pakketbeheerder-service met behulp van het winget-hulpprogramma. Zie Het winget-hulpprogramma gebruiken voor meer informatie over het installeren en gebruiken van winget.

Als u .NET-systeembreed installeert, installeert u deze met beheerdersbevoegdheden.

Installeer de SDK

Met de .NET SDK kunt u apps ontwikkelen met .NET. Als u de .NET SDK installeert, hoeft u de bijbehorende runtimes niet te installeren. Voer de volgende opdracht uit om de .NET SDK te installeren:

winget install Microsoft.DotNet.SDK.8

De runtime installeren

Er zijn drie verschillende .NET-runtimes die u kunt installeren. U moet echter zowel de .NET Desktop Runtime als de ASP.NET Core Runtime installeren voor maximale compatibiliteit met alle typen .NET-apps. In de volgende tabel wordt beschreven wat er bij elke runtime is opgenomen:

Bevat .NET Runtime Bevat .NET Desktop Runtime Bevat ASP.NET Core Runtime
.NET Runtime Ja No Nr.
.NET Desktop Runtime Ja Ja Nr.
ASP.NET Core Runtime Nee No Ja

De volgende lijst bevat details over elke runtime, samen met de winget-opdrachten om ze te installeren:

  • .NET Desktop Runtime

    Deze runtime ondersteunt Windows Presentation Foundation-apps (WPF) en Windows Forms-apps die zijn gebouwd met .NET. Dit is niet hetzelfde als .NET Framework, dat bij Windows wordt geleverd. Deze runtime omvat .NET Runtime, maar bevat geen ASP.NET Core Runtime, die afzonderlijk moet worden geïnstalleerd.

    winget install Microsoft.DotNet.DesktopRuntime.8
    
  • .NET-runtime

    Dit is de basisruntime en bevat alleen de onderdelen die nodig zijn om een console-app uit te voeren. Normaal gesproken installeert u zowel .NET Desktop Runtime als ASP.NET Core Runtime in plaats van deze.

    winget install Microsoft.DotNet.Runtime.8
    
  • ASP.NET Core Runtime

    Deze runtime voert webserver-apps uit en biedt veel web-API's. ASP.NET Core Runtime kunt u apps uitvoeren die zijn gemaakt met .NET die de runtime niet hebben geleverd. Naast deze runtime moet u .NET Runtime installeren. Voer de volgende opdrachten uit ASP.NET Core Runtime in uw terminal:

    winget install Microsoft.DotNet.AspNetCore.8
    

U kunt preview-versies van de runtimes installeren door het versienummer te vervangen door 6het woord Preview. In het volgende voorbeeld wordt de preview-versie van .NET Desktop Runtime geïnstalleerd:

winget install Microsoft.DotNet.DesktopRuntime.Preview

Installeren naast Visual Studio Code

Visual Studio Code is een krachtige en lichtgewicht broncode-editor die op uw bureaublad wordt uitgevoerd. Visual Studio Code is beschikbaar voor Windows, macOS en Linux.

Hoewel Visual Studio Code niet wordt geleverd met een geautomatiseerd .NET Core-installatieprogramma zoals Visual Studio, is het toevoegen van .NET Core-ondersteuning eenvoudig.

  1. Download en installeer Visual Studio Code.
  2. Download en installeer de .NET SDK.
  3. Installeer de C#-extensie vanuit de Visual Studio Code Marketplace.

De C# voor Visual Studio Code-extensie bevat de nieuwste .NET SDK en u hoeft geen .NET-runtime afzonderlijk te installeren.

Installeren met Windows Installer

Er zijn drie verschillende .NET-runtimes die u kunt installeren. U moet echter zowel de .NET Desktop Runtime als de ASP.NET Core Runtime installeren voor maximale compatibiliteit met alle typen .NET-apps. In de volgende tabel wordt beschreven wat er bij elke runtime is opgenomen:

Bevat .NET Runtime Bevat .NET Desktop Runtime Bevat ASP.NET Core Runtime
.NET Runtime Ja No Nr.
.NET Desktop Runtime Ja Ja Nr.
ASP.NET Core Runtime Nee No Ja

Met .NET SDK kunt u .NET-apps maken en alle runtimes opnemen.

De downloadpagina voor .NET biedt uitvoerbare Windows Installer-bestanden.

Als u .NET op de achtergrond wilt installeren, zoals in een productieomgeving of om continue integratie te ondersteunen, gebruikt u de volgende schakelopties:

  • /install
    Installeert .NET.

  • /quiet
    Hiermee voorkomt u dat gebruikersinterface en prompts worden weergegeven.

  • /norestart
    Suppresses any attempts to restart.

dotnet-sdk-8.0.100-win-x64.exe /install /quiet /norestart

Zie De opdrachtregelopties van het standaardinstallatieprogramma voor meer informatie.

Tip

Het installatieprogramma retourneert een afsluitcode van 0 voor succes en een afsluitcode van 3010 om aan te geven dat opnieuw opstarten is vereist. Elke andere waarde is over het algemeen een foutcode.

Installeren met PowerShell-automatisering

De dotnet-install-scripts worden gebruikt voor CI-automatisering en niet-beheerdersinstallatie van de runtime. U kunt het script downloaden vanaf de scriptverwijzingspagina voor dotnet-install.

Het script is standaard ingesteld op het installeren van de nieuwste LTS-versie (Long Term Support), die .NET 8 is. U kunt een specifieke release kiezen door de Channel switch op te geven. Neem de Runtime switch op om een runtime te installeren. Anders installeert het script de SDK.

Met de volgende opdracht worden zowel desktop- als ASP.NET Core-runtimes geïnstalleerd voor maximale compatibiliteit.

dotnet-install.ps1 -Channel 8.0 -Runtime windowsdesktop
dotnet-install.ps1 -Channel 8.0 -Runtime aspnetcore

Installeer de SDK door de -Runtime switch weg te laten. De -Channel switch wordt in dit voorbeeld STSingesteld op , waarmee de meest recente standaardtermondersteuningsversie wordt geïnstalleerd. Dit is .NET 7.

dotnet-install.ps1 -Channel STS

Installeren met Visual Studio

Als u Visual Studio gebruikt om .NET-apps te ontwikkelen, wordt in de volgende tabel de minimaal vereiste versie van Visual Studio beschreven op basis van de .NET SDK-doelversie.

.NET SDK-versie Visual Studio-versie
8 Visual Studio 2022 versie 17.8 of hoger.
7 Visual Studio 2022 versie 17.4 of hoger.
6 Visual Studio 2022 versie 17.0 of hoger.
5 Visual Studio 2019 versie 16.8 of hoger.
3.1 Visual Studio 2019 versie 16.4 of hoger.
3,0 Visual Studio 2019 versie 16.3 of hoger.
2.2 Visual Studio 2017 versie 15.9 of hoger.
2.1 Visual Studio 2017 versie 15.7 of hoger.

Als u Visual Studio al hebt geïnstalleerd, kunt u uw versie controleren met de volgende stappen.

  1. Open Visual Studio.
  2. Selecteer Help>over Microsoft Visual Studio.
  3. Lees het versienummer in het dialoogvenster Info .

Visual Studio kan de nieuwste .NET SDK en runtime installeren.

Zie .NET SDK, MSBuild en Visual Studio-versiebeheer voor meer informatie.

Een workload selecteren

Wanneer u Visual Studio installeert of wijzigt, selecteert u een of meer van de volgende workloads, afhankelijk van het type toepassing dat u bouwt:

  • De workload voor platformoverschrijdende ontwikkeling van .NET Core in de sectie Overige hulpprogramma's .
  • De workload ASP.NET en webontwikkeling in de sectie Web & Cloud .
  • De Azure-ontwikkelworkload in de sectie Web & Cloud .
  • De workload voor het ontwikkelen van .NET-desktops in de sectie Desktop & Mobile .

Windows Visual Studio 2019 with .NET Core workload

Ondersteunde releases

De volgende tabel is een lijst met momenteel ondersteunde .NET-releases en de versies van Windows waarop ze worden ondersteund. Deze versies blijven ondersteund totdat de versie van .NET het einde van de ondersteuning bereikt of de versie van Windows het einde van de levensduur bereikt.

End-of-servicedatums van Windows 10-versies worden gesegmenteerd per editie. Alleen de edities Home, Pro, Pro Education en Pro for Workstations worden in de volgende tabel beschouwd. Controleer het levenscyclusinformatieblad van Windows voor specifieke details.

Tip

Een + symbool vertegenwoordigt de minimale versie.

Besturingssysteem .NET 8 .NET 7 .NET 6
Windows 11 ✔️ ✔️ ✔️
Windows Server 2022 ✔️ ✔️ ✔️
Windows Server, versie 1903 of hoger ✔️ ✔️ ✔️
Windows 10, versie 1607 of hoger ✔️ ✔️ ✔️
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, versie 1809+ ✔️ ✔️ ✔️
Nano Server, versie 1803

Zie .NET 8 Ondersteunde besturingssysteemversies, distributies en levenscyclusbeleid voor meer informatie over .NET 8 ondersteunde besturingssystemen.

Niet-ondersteunde releases

De volgende versies van .NET worden ❌ niet meer ondersteund:

  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

Gedownloade binaire bestanden controleren

Nadat u een installatieprogramma hebt gedownload, controleert u of het bestand niet is gewijzigd of beschadigd. U kunt de controlesom op uw computer controleren en deze vergelijken met wat er is gerapporteerd op de downloadwebsite.

Wanneer u een installatieprogramma of binair bestand downloadt vanaf een officiële downloadpagina, wordt de controlesom voor het bestand weergegeven. Selecteer de knop Kopiëren om de waarde van de controlesom naar het Klembord te kopiëren.

The .NET download page with checksum

U kunt PowerShell of opdrachtprompt gebruiken om de controlesom te valideren van het bestand dat u hebt gedownload. Met de volgende opdracht wordt bijvoorbeeld de controlesom van het dotnet-sdk-8.0.100-win-x64.exe-bestand gerapporteerd:

> certutil -hashfile dotnet-sdk-8.0.100-win-x64.exe SHA512
SHA512 hash of dotnet-sdk-8.0.100-win-x64.exe:
248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e
CertUtil: -hashfile command completed successfully.
> (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash
248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e

Vergelijk de controlesom met de waarde van de downloadsite.

PowerShell en een controlesombestand gebruiken om te valideren

De .NET-releaseopmerkingen bevatten een koppeling naar een controlesombestand dat u kunt gebruiken om het gedownloade bestand te valideren. In de volgende stappen wordt beschreven hoe u het controlesombestand downloadt en een binaire .NET-installatie valideert:

  1. De releaseopmerkingenpagina voor .NET 8 op GitHub bevat https://github.com/dotnet/core/tree/main/release-notes/8.0 een sectie met de naam Releases. De tabel in die sectie is gekoppeld aan de downloads en controlesombestanden voor elke .NET 8-release:

    The github release notes version table for .NET

  2. Selecteer de koppeling voor de versie van .NET die u hebt gedownload. In de vorige sectie is .NET SDK 8.0.100 gebruikt. Deze bevindt zich in de .NET 8.0.0-release.

    Tip

    Als u niet zeker weet welke .NET-release het controlesombestand bevat, bekijkt u de koppelingen totdat u het hebt gevonden.

  3. Op de releasepagina ziet u de .NET Runtime- en .NET SDK-versie en een koppeling naar het controlesombestand:

    The download table with checksums for .NET

  4. Kopieer de koppeling naar het controlesombestand.

  5. Gebruik het volgende script, maar vervang de koppeling om het juiste controlesombestand te downloaden:

    Invoke-WebRequest https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt -OutFile 8.0.0-sha.txt
    
  6. Als zowel het checksum-bestand als het .NET-releasebestand naar dezelfde map zijn gedownload, zoekt u in het controlesombestand naar de controlesom van de .NET-download:

    Wanneer de validatie is geslaagd, ziet u Waar afgedrukt:

    > (Get-Content .\8.0.0-sha.txt | Select-String "dotnet-sdk-8.0.100-win-x64.exe").Line -like (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash + "*"
    True
    

    Als u Onwaar ziet afgedrukt, is het bestand dat u hebt gedownload niet geldig en mag het niet worden gebruikt.

Runtime-informatie

De runtime wordt gebruikt om apps uit te voeren die zijn gemaakt met .NET. Wanneer een auteur van een app een app publiceert, kan deze de runtime met de app opnemen. Als ze de runtime niet bevatten, is het aan de gebruiker om de runtime te installeren.

Er zijn drie verschillende .NET-runtimes die u kunt installeren. U moet echter zowel de .NET Desktop Runtime als de ASP.NET Core Runtime installeren voor maximale compatibiliteit met alle typen .NET-apps. In de volgende tabel wordt beschreven wat er bij elke runtime is opgenomen:

Bevat .NET Runtime Bevat .NET Desktop Runtime Bevat ASP.NET Core Runtime
.NET Runtime Ja No Nr.
.NET Desktop Runtime Ja Ja Nr.
ASP.NET Core Runtime Nee No Ja

De volgende lijst bevat details over elke runtime:

  • Desktop Runtime
    Hiermee worden .NET WPF- en Windows Forms-bureaublad-apps voor Windows uitgevoerd. Bevat de .NET-runtime.

  • ASP.NET Core Runtime
    Voert ASP.NET Core-apps uit.

  • .NET Runtime
    Deze runtime is de eenvoudigste runtime en bevat geen andere runtime. Installeer zowel ASP.NET Core Runtime als Desktop Runtime voor de beste compatibiliteit met .NET-apps.

SDK-informatie

De SDK wordt gebruikt voor het bouwen en publiceren van .NET-apps en -bibliotheken. Het installeren van de SDK omvat alle drie de runtimes: ASP.NET Core, Desktop en .NET.

Op arm gebaseerde Windows-pc's

In de volgende secties worden de zaken beschreven die u moet overwegen bij het installeren van .NET op een Windows-pc met arm.

Wat wordt ondersteund

In de volgende tabel wordt beschreven welke versies van .NET worden ondersteund op een Windows-pc met Arm:

.NET-versie Architectuur SDK Runtime Padconflict
8 Arm64 Ja Ja Nr.
8 x64 Ja Ja Nr.
7 Arm64 Ja Ja Nr.
7 x64 Ja Ja Nr.
6 Arm64 Ja Ja Nr.
6 x64 Ja Ja Nr.
5 Arm64 Ja Ja Ja
5 x64 Nr. Ja Ja

De x64- en Arm64-versies van de .NET SDK bestaan onafhankelijk van elkaar. Als er een nieuwe versie wordt uitgebracht, moet elke architectuurinstallatie worden bijgewerkt.

Verschillen in pad

Op een Windows-pc met Arm worden alle Arm64-versies van .NET geïnstalleerd in de normale map C:\Program Files\dotnet\ . De x64-versie van de .NET SDK wordt echter geïnstalleerd in de map C:\Program Files\dotnet\x64\ .

Padconflicten

De x64 .NET SDK wordt geïnstalleerd in een eigen map, zoals beschreven in de vorige sectie. Hierdoor kunnen de Arm64- en x64-versies van de .NET SDK op dezelfde computer bestaan. Elke x64 SDK vóór 6 wordt echter niet ondersteund en wordt geïnstalleerd op dezelfde locatie als de Arm64-versie, de map C:\Program Files\dotnet\ . Als u een niet-ondersteunde x64 SDK wilt installeren, moet u eerst de Arm64-versie verwijderen. Het tegenovergestelde is ook waar. U moet de niet-ondersteunde x64-SDK verwijderen om de Arm64-versie te installeren.

Padvariabelen

Omgevingsvariabelen die .NET toevoegen aan het systeempad, zoals de PATH variabele, moeten mogelijk worden gewijzigd als u zowel de x64- als Arm64-versies van de .NET SDK hebt geïnstalleerd. Daarnaast zijn sommige hulpprogramma's afhankelijk van de DOTNET_ROOT omgevingsvariabele, die ook moet worden bijgewerkt om te verwijzen naar de juiste .NET SDK-installatiemap.

Afhankelijkheden

De volgende Windows-versies worden ondersteund met .NET 8:

Notitie

Een + symbool vertegenwoordigt de minimale versie.

Besturingssysteem Versie Architecturen
Windows 11 22000+ x64, x86, Arm64
Windows 10 Client 1607+ x64, x86, Arm64
Windows Server 2012+ x64, x86
Windows Server Core 2012+ x64, x86
Nano Server 1809+ x64

Zie .NET 8 Ondersteunde besturingssysteemversies, distributies en levenscyclusbeleid voor meer informatie over .NET 8 ondersteunde besturingssystemen.

Windows 7 / 8.1 / Server 2012

Er zijn meer afhankelijkheden vereist als u de .NET SDK of runtime installeert op de volgende Windows-versies:

Besturingssysteem Vereisten
Windows 7 SP1 ESU - Microsoft Visual C++ 2015-2019 Herdistribueerbaar 64-bits / 32-bits
- KB3063858 64-bits / 32-bits
- Microsoft Root Certificate Authority 2011 (alleen offline-installatieprogramma.NET Core 2.1)
Windows 8.1 Microsoft Visual C++ 2015-2019 Herdistribueerbaar 64-bits / 32-bits
Windows Server 2012 Microsoft Visual C++ 2015-2019 Herdistribueerbaar 64-bits / 32-bits
Windows Server 2012 R2 Microsoft Visual C++ 2015-2019 Herdistribueerbaar 64-bits / 32-bits

De vorige vereisten zijn ook vereist als u een fout ontvangt met betrekking tot een van de volgende dll's:

  • api-ms-win-crt-runtime-l1-1-0.dll
  • api-ms-win-cor-timezone-l1-1-0.dll
  • hostfxr.dll

Docker

Containers bieden een lichtgewicht manier om uw toepassing te isoleren van de rest van het hostsysteem. Containers op dezelfde computer delen alleen de kernel en gebruiken resources die aan uw toepassing worden gegeven.

.NET kan worden uitgevoerd in een Docker-container. Officiële .NET Docker-installatiekopieën worden gepubliceerd naar het Microsoft Container Registry (MCR) en kunnen worden gedetecteerd in de Microsoft .NET Docker Hub-opslagplaats. Elke opslagplaats bevat installatiekopieën voor verschillende combinaties van de .NET (SDK of Runtime) en het besturingssysteem dat u kunt gebruiken.

Microsoft biedt afbeeldingen die zijn afgestemd op specifieke scenario's. De ASP.NET Core-opslagplaats bevat bijvoorbeeld installatiekopieën die zijn gebouwd voor het uitvoeren van ASP.NET Core-apps in productie.

Zie Inleiding tot .NET en Docker en Voorbeelden voor meer informatie over het gebruik van .NET in een Docker-container.

Probleemoplossing

Na de installatie van de .NET SDK kunt u problemen ondervinden bij het uitvoeren van .NET CLI-opdrachten. In deze sectie worden deze veelvoorkomende problemen verzameld en worden oplossingen geboden.

Er is geen .NET SDK gevonden

Waarschijnlijk hebt u zowel de x86 -versies (32-bits) als x64 (64-bits) van de .NET SDK geïnstalleerd. Dit veroorzaakt een conflict omdat wanneer u de dotnet opdracht uitvoert die wordt omgezet in de x86-versie wanneer deze moet worden omgezet in de x64-versie. Dit is meestal opgelost door de variabele aan te passen om eerst %PATH% de x64-versie op te lossen.

  1. Controleer of u beide versies hebt geïnstalleerd door de opdracht uit te where.exe dotnet voeren. Als dat het geval is, ziet u een vermelding voor zowel de mappen Program Files\ als Program Files (x86)\ . Als de map Program Files (x86)\ eerst wordt weergegeven, zoals in het volgende voorbeeld wordt gedemonstreerd, is dit onjuist en moet u doorgaan met de volgende stap.

    > where.exe dotnet
    C:\Program Files (x86)\dotnet\dotnet.exe
    C:\Program Files\dotnet\dotnet.exe
    

    Als het juist is en de Program Files\ het eerste is, hebt u het probleem niet dat in deze sectie wordt besproken en moet u een probleem met een .NET-helpaanvraag maken op GitHub

  2. Druk op de Windows-knop en typ 'Bewerk de omgevingsvariabelen van het systeem' in de zoekfunctie. Selecteer De omgevingsvariabelen van het systeem bewerken.

    Windows start menu with edit environment variable

  3. Het venster Systeemeigenschappen wordt geopend op het tabblad Geavanceerd. Selecteer Omgevingsvariabelen.

    The Windows system properties panel open.

  4. Selecteer in het venster Omgevingsvariabelen onder de groep Systeemvariabelen de rij Path* en selecteer vervolgens de knop Bewerken.

    The environment variables window with user and system variables.

  5. Gebruik de knoppen Omhoog en Omlaag verplaatsen om de vermelding C:\Program Files\dotnet\ boven C:\Program Files (x86)\dotnet\te verplaatsen.

    The environment variables list for the system.

Het bouwen van apps is langzamer dan verwacht

Zorg ervoor dat Smart App Control, een Windows-functie, is uitgeschakeld. Smart App Control wordt niet aanbevolen om te worden ingeschakeld op computers die worden gebruikt voor ontwikkeling. Een andere instelling dan 'uit' kan een negatieve invloed hebben op de SDK-prestaties.

Volgende stappen