.NET installeren in macOS

In dit artikel leert u hoe u .NET installeert in macOS. .NET bestaat uit de runtime en de SDK. De runtime wordt gebruikt om een .NET-app uit te voeren en kan al dan niet 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.

Ondersteunde releases

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 is een lijst met momenteel ondersteunde .NET-releases en de versies van macOS waarvoor ze worden ondersteund:

Besturingssysteem .NET 8 (LTS) .NET 7 (STS) .NET 6 (LTS)
macOS 14.0 "Sonoma" ✔️ 8.0 ✔️ 7.0 ✔️ 6.0
macOS 13.0 "Ventura" ✔️ 8.0 ✔️ 7.0 ✔️ 6.0
macOS 12.0 "Monterey" ✔️ 8.0 ✔️ 7.0 ✔️ 6.0
macOS 11.0 "Big Sur" ✔️ 7.0 ✔️ 6.0
macOS 10.15 "Catalina" ✔️ 7.0 ✔️ 6.0

Zie .NET-ondersteuningsbeleid voor een volledige lijst met .NET-versies en hun ondersteuningslevenscyclus.

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

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 twee verschillende runtimes die u kunt installeren op macOS:

  • ASP.NET Core-runtime
    Voert ASP.NET Core-apps uit. Bevat de .NET-runtime.

  • .NET-runtime
    Deze runtime is de eenvoudigste runtime en bevat geen andere runtime. Het wordt ten zeerste aanbevolen om ASP.NET Core-runtime te installeren 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 zowel runtimes: ASP.NET Core als .NET.

Notarisatie

Vanaf macOS Catalina (versie 10.15) moeten alle software die is gebouwd na 1 juni 2019 die is gedistribueerd met de ontwikkelaars-id, worden geïnitialiseerd. Deze vereiste is van toepassing op de .NET Runtime, .NET SDK en software die is gemaakt met .NET.

De runtime- en SDK-installatieprogramma's voor .NET zijn sinds 18 februari 2020 ge notariseerd. Eerdere uitgebrachte versies worden niet ge notariseerd. Als u een niet-notariseerde app uitvoert, ziet u een fout die lijkt op de volgende afbeelding:

waarschuwing voor macOS Catalina-notarisatie

Zie Werken met macOS Catalina Notarization voor meer informatie over hoe afgedwongen notarisatie van invloed is op .NET (en uw .NET-apps).

Libgdiplus

Voor .NET-toepassingen die gebruikmaken van de Assembly System.Drawing.Common moet worden geïnstalleerd.

Een eenvoudige manier om het pakketbeheerprogramma homebrew ('brew') voor macOS te gebruiken. Nadat u brew hebt geïnstalleerd, installeertu door de volgende opdrachten uit te voeren op een terminalprompt (opdracht):

brew update
brew install mono-libgdiplus

Geautomatiseerde installatie

macOS heeft zelfstandige installatieprogramma's die kunnen worden gebruikt om .NET te installeren:

Handmatige installatie

Als alternatief voor de macOS-installatieprogramma's voor .NET kunt u de SDK en runtime downloaden en handmatig installeren. Handmatige installatie wordt meestal uitgevoerd als onderdeel van continue integratietests. Voor een ontwikkelaar of gebruiker is het over het algemeen beter om een installatieprogramma te gebruiken.

Download een binaire release voor de SDK of de runtime van een van de volgende sites. De .NET SDK bevat de bijbehorende runtime:

Pak het gedownloade bestand uit en gebruik de export opdracht om in te stellen DOTNET_ROOT op de locatie van de uitgepakte map en zorg ervoor dat .NET zich in PATH bevindt. Exporteren DOTNET_ROOT maakt de .NET CLI-opdrachten beschikbaar in de terminal. Zie .NET SDK en CLI-omgevingsvariabelen voor meer informatie over .NET-omgevingsvariabelen.

Verschillende versies van .NET kunnen worden geëxtraheerd naar dezelfde map, die naast elkaar bestaan.

Opmerking

De volgende opdrachten gebruiken Bash om de omgevingsvariabele DOTNET_ROOT in te stellen op de huidige werkmap, gevolgd door .dotnet. Deze map wordt gemaakt als deze niet bestaat. De DOTNET_FILE omgevingsvariabele is de bestandsnaam van de binaire versie van .NET die u wilt installeren. Dit bestand wordt uitgepakt naar de DOTNET_ROOT map. Zowel de DOTNET_ROOT map als tools de bijbehorende submap worden toegevoegd aan de PATH omgevingsvariabele.

Belangrijk

Als u deze opdrachten uitvoert, moet u de DOTNET_FILE waarde wijzigen in de naam van het binaire .NET-bestand dat u hebt gedownload.

DOTNET_FILE=dotnet-sdk-8.0.100-osx-x64.tar.gz
export DOTNET_ROOT=$(pwd)/.dotnet

mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT"

export PATH=$PATH:$DOTNET_ROOT

U kunt meer dan één versie van .NET installeren in dezelfde map.

U kunt .NET ook installeren in de basismap die is geïdentificeerd door de variabele of ~ het HOME pad:

export DOTNET_ROOT=$HOME/.dotnet

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.

De .NET-downloadpagina met controlesom

Gebruik de sha512sum opdracht om de controlesom af te drukken van het bestand dat u hebt gedownload. Met de volgende opdracht wordt bijvoorbeeld de controlesom van het dotnet-sdk-8.0.100-linux-x64.tar.gz-bestand gerapporteerd:

$ sha512sum dotnet-sdk-8.0.100-linux-x64.tar.gz
13905ea20191e70baeba50b0e9bbe5f752a7c34587878ee104744f9fb453bfe439994d38969722bdae7f60ee047d75dda8636f3ab62659450e9cd4024f38b2a5  dotnet-sdk-8.0.100-linux-x64.tar.gz

Vergelijk de controlesom met de waarde van de downloadsite.

Belangrijk

Hoewel in deze voorbeelden een Linux-bestand wordt weergegeven, is deze informatie ook van toepassing op macOS.

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:

    De github-releaseopmerkingen voor versietabel voor .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.

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

    De downloadtabel met controlesommen voor .NET

  4. Kopieer de koppeling naar het controlesombestand.

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

    curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
    
  6. Wanneer zowel het checksum-bestand als het .NET-releasebestand naar dezelfde map zijn gedownload, gebruikt u de sha512sum -c {file} --ignore-missing opdracht om het gedownloade bestand te valideren.

    Wanneer de validatie is geslaagd, ziet u dat het bestand wordt afgedrukt met de status OK :

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: OK
    

    Als u het bestand ziet dat is gemarkeerd als MISLUKT, is het bestand dat u hebt gedownload, niet geldig en mag het niet worden gebruikt.

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: FAILED
    sha512sum: WARNING: 1 computed checksum did NOT match
    sha512sum: 8.0.0-sha.txt: no file was verified
    

Omgevingsvariabelen instellen voor het hele systeem

Als u de instructies in de sectie Voorbeeld van handmatige installatie hebt gebruikt, zijn de variabelen die zijn ingesteld alleen van toepassing op uw huidige terminalsessie. Voeg ze toe aan uw shell-profiel. Er zijn veel verschillende shells beschikbaar voor macOS en elk heeft een ander profiel. Voorbeeld:

  • Bash Shell: ~/.profile, /etc/profile
  • Korn Shell: ~/.kshrc of .profile
  • Z Shell: ~/.zshrc of .zprofile

Stel de volgende twee omgevingsvariabelen in uw shell-profiel in:

  • DOTNET_ROOT

    Deze variabele is ingesteld op de map .NET is geïnstalleerd op, zoals $HOME/.dotnet:

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    Deze variabele moet zowel de DOTNET_ROOT map als de DOTNET_ROOT/tools map bevatten:

    export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
    

Op arm gebaseerde Macs

In de volgende secties worden de zaken beschreven die u moet overwegen bij het installeren van .NET op een Mac op basis van Arm.

Wat wordt er ondersteund

In de volgende tabel wordt beschreven welke versies van .NET worden ondersteund op een Op Arm gebaseerde Mac:

.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.

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

Verschillen in pad

Op een Op Arm gebaseerde Mac worden alle Arm64-versies van .NET geïnstalleerd in de normale map /usr/local/share/dotnet/ . Wanneer u echter de x64-versie van .NET SDK installeert, wordt deze geïnstalleerd in de map /usr/local/share/dotnet/x64/dotnet/ .

Padconflicten

Vanaf .NET 6 wordt de x64 .NET SDK 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 .NET 6 wordt echter niet ondersteund en wordt geïnstalleerd op dezelfde locatie als de Arm64-versie, de map /usr/local/share/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 6 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 6 SDK-installatiemap.

Installeren met Visual Studio voor Mac

Visual Studio voor Mac installeert de .NET SDK wanneer de .NET-workload is geselecteerd. Zie Visual Studio 2022 voor Mac installeren om aan de slag te gaan met .NET-ontwikkeling in macOS.

Belangrijk

Visual Studio voor Mac wordt buiten gebruik gesteld. Zie Wat gebeurt er met Visual Studio voor Mac voor meer informatie.

.NET SDK-versie Visual Studio-versie
8.0 Visual Studio 2022 voor Mac 17.6.1 of hoger. (Alleen beschikbaar als preview-functie.)
7.0 Visual Studio 2022 voor Mac 17.4 of hoger.
6,0 Visual Studio 2022 voor Mac 17.0 of hoger.

macOS Visual Studio 2022 voor Mac met de .NET-workload geselecteerd.

Belangrijk

Microsoft heeft de buitengebruikstelling van Visual Studio voor Mac aangekondigd. Visual Studio voor Mac wordt vanaf 31 augustus 2024 niet meer ondersteund. Alternatieven zijn:

Zie Visual Studio voor Mac aankondiging van buitengebruikstelling voor meer informatie.

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-installatieprogramma zoals Visual Studio, is het toevoegen van .NET-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.

Installeren met bash-automatisering

De dotnet-install-scripts worden gebruikt voor 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 wordt de ASP.NET Core-runtime geïnstalleerd voor maximale compatibiliteit. De ASP.NET Core-runtime bevat ook de standaard .NET-runtime.

./dotnet-install.sh --channel 8.0 --runtime aspnetcore

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.

Volgende stappen