.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 6
het 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.
- Download en installeer Visual Studio Code.
- Download en installeer de .NET SDK.
- 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 STS
ingesteld 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.
- Open Visual Studio.
- Selecteer Help>over Microsoft Visual Studio.
- 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 .
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.
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:
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:
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.
Op de releasepagina ziet u de .NET Runtime- en .NET SDK-versie en een koppeling naar het controlesombestand:
Kopieer de koppeling naar het controlesombestand.
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
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.
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
Druk op de Windows-knop en typ 'Bewerk de omgevingsvariabelen van het systeem' in de zoekfunctie. Selecteer De omgevingsvariabelen van het systeem bewerken.
Het venster Systeemeigenschappen wordt geopend op het tabblad Geavanceerd. Selecteer Omgevingsvariabelen.
Selecteer in het venster Omgevingsvariabelen onder de groep Systeemvariabelen de rij Path* en selecteer vervolgens de knop Bewerken.
Gebruik de knoppen Omhoog en Omlaag verplaatsen om de vermelding C:\Program Files\dotnet\ boven C:\Program Files (x86)\dotnet\te verplaatsen.
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
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor