Installera .NET på macOS

I den här artikeln får du lära dig hur du installerar .NET på macOS. .NET består av körningen och SDK:et. Körningen används för att köra en .NET-app och kanske eller kanske inte ingår i appen. SDK används för att skapa .NET-appar och -bibliotek. .NET-CLR installeras alltid med SDK.

Den senaste versionen av .NET är 8.

Versioner som stöds

Det finns två typer av versioner som stöds: versioner av långsiktig support (LTS) och STS-versioner (Standard Term Support). Kvaliteten på alla utgåvor är densamma. Den enda skillnaden är supportens längd. LTS-versioner får kostnadsfri support och korrigeringar i tre år. STS-versioner får kostnadsfri support och korrigeringar i 18 månader. Mer information finns i .NET-supportprincip.

Följande tabell är en lista över .NET-versioner som stöds för närvarande och vilka versioner av macOS de stöds på:

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

En fullständig lista över .NET-versioner och deras supportlivscykel finns i .NET Support Policy.

Versioner som inte stöds

Följande versioner av .NET stöds ❌ inte längre:

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

Körningsinformation

Körningen används för att köra appar som skapats med .NET. När en appförfattare publicerar en app kan de inkludera körningen med sin app. Om de inte inkluderar körningen är det upp till användaren att installera körningen.

Det finns två olika körningar som du kan installera på macOS:

  • ASP.NET Core-körning
    Kör ASP.NET Core-appar. Innehåller .NET-körningen.

  • .NET-körning
    Den här körningen är den enklaste körningen och inkluderar inte någon annan körning. Vi rekommenderar starkt att du installerar ASP.NET Core-körning för bästa kompatibilitet med .NET-appar.

SDK-information

SDK:et används för att skapa och publicera .NET-appar och -bibliotek. Installationen av SDK omfattar båda körningarna: ASP.NET Core och .NET.

Notarisering

Från och med macOS Catalina (version 10.15) måste all programvara som skapats efter den 1 juni 2019 som distribueras med utvecklar-ID vara notariserad. Det här kravet gäller för .NET-runtime, .NET SDK och programvara som skapats med .NET.

Installationsprogrammet för runtime och SDK för .NET har notariserats sedan den 18 februari 2020. Tidigare versioner är inte notariserade. Om du kör en icke-notariserad app visas ett fel som liknar följande bild:

macOS Catalina-notariseringsavisering

Mer information om hur enforced-notarization påverkar .NET (och dina .NET-appar) finns i Arbeta med macOS Catalina Notarization.

Libgdiplus

.NET-program som använder System.Drawing.Common-sammansättningen kräver att libgdiplus installeras.

Ett enkelt sätt att få libgdiplus är att använda Homebrew-pakethanteraren ("brew") för macOS. När du har installerat brew installerar du libgdiplus genom att köra följande kommandon i en terminal (kommandotolk):

brew update
brew install mono-libgdiplus

Automatisk installation

macOS har fristående installationsprogram som kan användas för att installera .NET:

Manuell installation

Som ett alternativ till macOS-installationsprogrammet för .NET kan du ladda ned och installera SDK och körning manuellt. Manuell installation utförs vanligtvis som en del av kontinuerlig integreringstestning. För utvecklare eller användare är det vanligtvis bättre att använda ett installationsprogram.

Ladda ned en binär version för antingen SDK:t eller körningen från någon av följande platser. .NET SDK innehåller motsvarande körning:

Extrahera den nedladdade filen och använd export kommandot för att ange DOTNET_ROOT platsen för den extraherade mappen och se sedan till att .NET finns i PATH. När du exporterar DOTNET_ROOT blir .NET CLI-kommandona tillgängliga i terminalen. Mer information om .NET-miljövariabler finns i miljövariabler för .NET SDK och CLI.

Olika versioner av .NET kan extraheras till samma mapp, som samexisterar sida vid sida.

Exempel

Följande kommandon använder Bash för att ange miljövariabeln DOTNET_ROOT till den aktuella arbetskatalogen följt av .dotnet. Katalogen skapas om den inte finns. Miljövariabeln DOTNET_FILE är filnamnet för den binära .NET-version som du vill installera. Den här filen extraheras till DOTNET_ROOT katalogen. DOTNET_ROOT Både katalogen och dess tools underkatalog läggs till i PATH miljövariabeln.

Viktigt!

Om du kör de här kommandona ska du komma ihåg att ändra DOTNET_FILE värdet till namnet på den .NET-binärfil som du laddade ned.

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

Du kan installera mer än en version av .NET i samma mapp.

Du kan också installera .NET i hemkatalogen som identifieras av variabeln HOME eller ~ sökvägen:

export DOTNET_ROOT=$HOME/.dotnet

Verifiera nedladdade binärfiler

När du har laddat ned ett installationsprogram kontrollerar du att filen inte har ändrats eller skadats. Du kan kontrollera kontrollsumman på datorn och sedan jämföra den med vad som rapporterades på nedladdningswebbplatsen.

När du laddar ned ett installationsprogram eller en binär fil från en officiell nedladdningssida visas kontrollsumman för filen. Välj knappen Kopiera för att kopiera kontrollsummavärdet till Urklipp.

Nedladdningssidan för .NET med kontrollsumma

sha512sum Använd kommandot för att skriva ut kontrollsumman för filen som du har laddat ned. Följande kommando rapporterar till exempel kontrollsumman för filen dotnet-sdk-8.0.100-linux-x64.tar.gz :

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

Jämför kontrollsumman med värdet som tillhandahålls av nedladdningswebbplatsen.

Viktigt!

Även om en Linux-fil visas i dessa exempel gäller den här informationen lika för macOS.

Använda en checksumfil för att verifiera

Viktig information om .NET innehåller en länk till en checksumfil som du kan använda för att verifiera den nedladdade filen. Följande steg beskriver hur du laddar ned checksum-filen och validerar en .NET-installationsbinär fil:

  1. Sidan viktig information för .NET 8 på GitHub på https://github.com/dotnet/core/tree/main/release-notes/8.0 innehåller ett avsnitt med namnet Versioner. Tabellen i det avsnittet länkar till nedladdningar och kontrollsummor för varje .NET 8-version:

    Versionstabellen för github-versionsanteckningar för .NET

  2. Välj länken för den version av .NET som du laddade ned. I föregående avsnitt användes .NET SDK 8.0.100, som finns i .NET 8.0.0-versionen.

  3. På versionssidan kan du se .NET Runtime- och .NET SDK-versionen och en länk till kontrollsummafilen:

    Nedladdningstabellen med kontrollsummor för .NET

  4. Kopiera länken till checksum-filen.

  5. Använd följande skript, men ersätt länken för att ladda ned lämplig kontrollsummafil:

    curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
    
  6. Med både checksum-filen och .NET-versionsfilen nedladdad till samma katalog använder du sha512sum -c {file} --ignore-missing kommandot för att verifiera den nedladdade filen.

    När valideringen har godkänts ser du att filen skrivs ut med OK-status :

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

    Om du ser filen markerad som MISSLYCKAD är filen du laddade ned inte giltig och bör inte användas.

    $ 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
    

Ange miljövariabler systemomfattande

Om du använde anvisningarna i avsnittet Exempel på manuell installation gäller de variabler som angetts endast för den aktuella terminalsessionen. Lägg till dem i din gränssnittsprofil. Det finns många olika gränssnitt tillgängliga för macOS och var och en har en annan profil. Till exempel:

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

Ange följande två miljövariabler i din gränssnittsprofil:

  • DOTNET_ROOT

    Den här variabeln är inställd på mappen .NET installerades till, till exempel $HOME/.dotnet:

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    Den här variabeln bör innehålla både DOTNET_ROOT mappen och DOTNET_ROOT/tools mappen:

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

Armbaserade Mac-datorer

I följande avsnitt beskrivs vad du bör tänka på när du installerar .NET på en Arm-baserad Mac.

Det finns stöd för

I följande tabell beskrivs vilka versioner av .NET som stöds på en Arm-baserad Mac:

.NET-version Arkitektur SDK Körmiljö Sökvägskonflikt
8 Arm64 Ja Ja Nej
8 x64 Ja Ja Nej
7 Arm64 Ja Ja Nej
7 x64 Ja Ja Nej
6 Arm64 Ja Ja Nej
6 x64 Ja Ja Nej

Från och med .NET 6 finns x64- och Arm64-versionerna av .NET SDK oberoende av varandra. Om en ny version släpps måste varje installation uppgraderas.

Sökvägsskillnader

På en Arm-baserad Mac installeras alla Arm64-versioner av .NET i den normala mappen /usr/local/share/dotnet/ . Men när du installerar x64-versionen av .NET SDK installeras den i mappen /usr/local/share/dotnet/x64/dotnet/ .

Sökvägskonflikter

Från och med .NET 6 installeras x64 .NET SDK till en egen katalog, enligt beskrivningen i föregående avsnitt. På så sätt kan Arm64- och x64-versionerna av .NET SDK finnas på samma dator. X64 SDK före .NET 6 stöds dock inte och installeras på samma plats som Arm64-versionen, mappen /usr/local/share/dotnet/. Om du vill installera en x64 SDK som inte stöds måste du först avinstallera Arm64-versionen. Motsatsen är också sant, du måste avinstallera x64 SDK som inte stöds för att installera Arm64-versionen.

Sökvägsvariabler

Miljövariabler som lägger till .NET i systemsökvägen, till exempel variabeln PATH , kan behöva ändras om du har både x64- och Arm64-versionerna av .NET 6 SDK installerat. Dessutom förlitar sig vissa verktyg på miljövariabeln, som också skulle behöva uppdateras för att peka på DOTNET_ROOT lämplig .NET 6 SDK-installationsmapp.

Installera med Visual Studio för Mac

Visual Studio för Mac installerar .NET SDK när .NET-arbetsbelastningen har valts. Information om hur du kommer igång med .NET-utveckling på macOS finns i Installera Visual Studio 2022 för Mac.

Viktigt!

Visual Studio för Mac dras tillbaka. Mer information finns i Vad händer med Visual Studio för Mac?.

.NET SDK-version Visual Studio-version
8.0 Visual Studio 2022 för Mac 17.6.1 eller senare. (Endast tillgänglig som förhandsversionsfunktion.)
7.0 Visual Studio 2022 för Mac 17.4 eller senare.
6,0 Visual Studio 2022 för Mac 17.0 eller senare.

macOS Visual Studio 2022 för Mac med .NET-arbetsbelastningen vald.

Viktigt!

Microsoft har meddelat att Visual Studio för Mac upphör. Visual Studio för Mac stöds inte längre från och med den 31 augusti 2024. Alternativen är:

Mer information finns i Visual Studio för Mac-meddelande om pensionering.

Installera tillsammans med Visual Studio Code

Visual Studio Code är en kraftfull och enkel källkodsredigerare som körs på skrivbordet. Visual Studio Code är tillgängligt för Windows, macOS och Linux.

Visual Studio Code levereras inte med ett automatiserat .NET-installationsprogram som Visual Studio, men det är enkelt att lägga till .NET-stöd.

  1. Ladda ned och installera Visual Studio Code.
  2. Ladda ned och installera .NET SDK.
  3. Installera C#-tillägget från Visual Studio Code Marketplace.

Installera med bash automation

Dotnet-install-skripten används för automatisering och icke-administratörsinstallationer av körningen. Du kan ladda ned skriptet från referenssidan för dotnet-install-skriptet.

Skriptet installerar som standard den senaste lts-versionen (long term support), som är .NET 8. Du kan välja en specifik version genom att ange växeln channel . Inkludera växeln runtime för att installera en körning. Annars installerar skriptet SDK: et.

Följande kommando installerar ASP.NET Core-körningen för maximal kompatibilitet. ASP.NET Core-körningen innehåller även standard-.NET-körningen.

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

Docker

Containrar är ett enkelt sätt att isolera programmet från resten av värdsystemet. Containrar på samma dator delar bara kerneln och använder resurser som ges till ditt program.

.NET kan köras i en Docker-container. Officiella .NET Docker-avbildningar publiceras till Microsoft Container Registry (MCR) och kan identifieras på Microsoft .NET Docker Hub-lagringsplatsen. Varje lagringsplats innehåller avbildningar för olika kombinationer av .NET (SDK eller Runtime) och operativsystem som du kan använda.

Microsoft tillhandahåller avbildningar som är skräddarsydda för specifika scenarier. Lagringsplatsen ASP.NET Core innehåller till exempel avbildningar som har skapats för att köra ASP.NET Core-appar i produktion.

Mer information om hur du använder .NET i en Docker-container finns i Introduktion till .NET och Docker och Exempel.

Nästa steg