Installieren von .NET unter macOS

In diesem Artikel erfahren Sie, wie Sie .NET auf macOS installieren. .NET besteht aus der Runtime und dem SDK. Die Laufzeitumgebung wird zum Ausführen einer .NET-App verwendet und kann bereits in der App enthalten sein. Das SDK wird zum Erstellen von .NET-Apps und -Bibliotheken verwendet. Die .NET-Runtime wird immer mit dem SDK installiert.

Version 8 ist die aktuelle Version von .NET.

Unterstützte Releases

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-Versionen erhalten drei Jahre lang kostenlosen Support und Patches. STS-Releases erhalten für 18 Monate kostenlosen Support und Patches. Weitere Informationen finden Sie in der .NET-Supportrichtlinie.

Die folgende Tabelle enthält die derzeit unterstützten .NET-Releases und die macOS-Versionen, die diese unterstützen:

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

Eine vollständige Liste der .NET-Versionen und ihres Supportlebenszyklus finden Sie unter .NET-Supportrichtlinie.

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

Unter macOS können Sie zwei verschiedene Runtimes installieren:

  • ASP.NET Core-Runtime
    Diese führt ASP.NET Core-Apps aus. Diese Runtime schließt die .NET-Runtime ein.

  • .NET-Runtime
    Hierbei handelt es sich um die einfachste Runtime, die keine weiteren Runtimes beinhaltet. Es wird dringend empfohlen, dass Sie die ASP.NET Core-Runtime 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 beide Runtimes: ASP.NET Core und .NET

Notarielle Beglaubigung

Ab macOS Catalina (Version 10.15) muss jede Software, die nach dem 1. Juni 2019 entwickelt und mit der Developer ID vertrieben wird, notariell beglaubigt werden. Diese Voraussetzung gilt für die .NET-Runtime, das .NET SDK und jegliche Software, die mit .NET erstellt wird.

Die Runtime und die SDK-Installationsprogramme für .NET wurden seit dem 18. Februar 2020 notariell beglaubigt. Vorherige Versionen wurden nicht notarisiert. Wenn Sie eine nicht notarisierte App ausführen, wird eine Fehlermeldung ähnlich der folgenden Abbildung angezeigt:

macOS Catalina notarization alert

Weitere Informationen dazu, wie sich die erzwungene Notarisierung auf .NET (und Ihre .NET-Apps) auswirkt, finden Sie unter macOS Catalina-Notarisierung und die Auswirkungen auf .NET Core-Downloads und -Projekte.

libgdiplus

Für .NET-Anwendungen, die die Assembly System.Drawing.Common verwenden, muss libgdiplus installiert sein.

Eine einfache Möglichkeit zum Abrufen von libgdiplus bietet der Homebrew-Paket-Manager („brew“) für macOS. Installieren Sie nach der Installation von brew libgdiplus durch Ausführen der folgenden Befehle in einem Terminal (Befehl):

brew update
brew install mono-libgdiplus

Automatisierte Installation

macOS verfügt über eigenständige Installationsprogramme, mit denen Sie .NET installieren können:

Manuelle Installation

Alternativ zu den macOS-Installationsprogrammen für .NET können Sie das SDK und die Runtime herunterladen und manuell installieren. Die manuelle Installation wird normalerweise im Rahmen von CI-Tests (Continuous Integration) durchgeführt. Für Entwickler oder Benutzer eignet sich in der Regel die Verwendung eines Installationsprogramms besser.

Laden Sie entweder für das SDK oder die Runtime eine binäre Version von einer der folgenden Websites herunter. Das .NET SDK enthält die entsprechende Runtime:

Extrahieren Sie die heruntergeladene Datei, und führen Sie den Befehl export aus, um DOTNET_ROOT auf den Speicherort des extrahierten Ordners festzulegen. Stellen Sie anschließend sicher, dass sich .NET in PATH befindet. Durch den Export von DOTNET_ROOT werden die .NET CLI-Befehle im Terminal verfügbar. Weitere Informationen zu .NET-Umgebungsvariablen finden Sie unter .NET SDK- und CLI-Umgebungsvariablen.

Verschiedene Versionen von .NET können in denselben Ordner extrahiert werden und nebeneinander existieren.

Beispiel

Mit den folgenden Befehlen wird Bash verwendet, um die Umgebungsvariable DOTNET_ROOT auf das aktuelle Arbeitsverzeichnis gefolgt von .dotnet festzulegen. Dieses Verzeichnis wird erstellt, wenn es nicht vorhanden ist. Die Umgebungsvariable DOTNET_FILE enthält den Dateinamen der .NET-Binärversion, die Sie installieren möchten. Diese Datei wird in das Verzeichnis DOTNET_ROOT extrahiert. Sowohl das Verzeichnis DOTNET_ROOT als auch das Unterverzeichnis tools werden der Umgebungsvariablen PATH hinzugefügt.

Wichtig

Wenn Sie diese Befehle ausführen, denken Sie daran, den Wert DOTNET_FILE in den Namen der heruntergeladenen .NET-Binärdatei zu ändern.

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

Sie können mehrere Versionen von .NET im selben Ordner installieren.

Sie können .NET auch im Startverzeichnis installieren, das durch die Variable HOME oder den Pfad ~ identifiziert wird:

export DOTNET_ROOT=$HOME/.dotnet

Überprüfen heruntergeladener Binärdateien

Überprüfen Sie nach dem Herunterladen eines Installationsprogramms, dass die Datei nicht geändert oder beschädigt wurde. Sie können die Prüfsumme auf Ihrem Computer überprüfen und sie dann mit dem auf der Downloadwebsite angegebenen Wert vergleichen.

Wenn Sie ein Installationsprogramm oder eine Binärdatei von einer offiziellen Downloadseite herunterladen, wird die Prüfsumme für die Datei angezeigt. Wählen Sie die Schaltfläche Kopieren aus, um den Prüfsummenwert in Ihre Zwischenablage zu kopieren.

The .NET download page with checksum

Verwenden Sie den Befehl sha512sum, um die Prüfsumme der heruntergeladenen Datei auszugeben. Der folgende Befehl meldet beispielsweise die Prüfsumme der Datei 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

Vergleichen Sie die Prüfsumme mit dem von der Downloadwebsite bereitgestellten Wert.

Wichtig

In diesen Beispielen wird zwar eine Linux-Datei gezeigt, diese Informationen gelten aber auch für macOS.

Verwenden einer Prüfsummendatei zum Überprüfen

Die .NET-Versionshinweise enthalten einen Link zu einer Prüfsummendatei, mit der Sie Ihre heruntergeladene Datei überprüfen können. In den folgenden Schritten wird beschrieben, wie Sie die Prüfsummendatei herunterladen und eine .NET-Installationsbinärdatei überprüfen:

  1. Die Seite mit den Versionshinweisen für .NET 8 auf GitHub unter https://github.com/dotnet/core/tree/main/release-notes/8.0 enthält einen Abschnitt mit dem Namen Releases. Die Tabelle in diesem Abschnitt enthält Links zu den Downloads und Prüfsummendateien für die einzelnen .NET 8-Versionen:

    The github release notes version table for .NET

  2. Wählen Sie den Link für die heruntergeladene .NET-Version aus. Im vorherigen Abschnitt wurde das .NET SDK 8.0.100 verwendet, das sich im Release .NET 8.0.0 befindet.

  3. Auf der Releaseseite sehen Sie die .NET Runtime- und .NET SDK-Version sowie einen Link zur Prüfsummendatei:

    The download table with checksums for .NET

  4. Kopieren Sie den Link zur Prüfsummendatei.

  5. Verwenden Sie das folgende Skript, ersetzen Sie jedoch den Link, um die entsprechende Prüfsummendatei herunterzuladen:

    curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
    
  6. Wenn sowohl die Prüfsummendatei als auch die .NET-Releasedatei in dasselbe Verzeichnis heruntergeladen wurden, verwenden Sie den Befehl sha512sum -c {file} --ignore-missing zum Überprüfen der heruntergeladenen Datei.

    Wenn die Überprüfung erfolgreich ist, wird die Datei mit dem Status OK ausgegeben:

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

    Wenn die Datei mit FEHLER markiert ist, ist die heruntergeladene Datei ungültig und sollte nicht verwendet werden.

    $ 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
    

Systemweites Festlegen von Umgebungsvariablen

Wenn Sie die Anweisungen im Abschnitt Beispiel für die manuelle Installation verwendet haben, gelten die festgelegten Variablen nur für Ihre aktuelle Terminalsitzung. Fügen Sie sie Ihrem Shellprofil hinzu. Für macOS sind viele verschiedene Shells verfügbar, die jeweils über unterschiedliche Profile verfügen. Beispiel:

  • Bash-Shell: ~/.profile, /etc/profile
  • Korn-Shell: ~/.kshrc oder .profile
  • Z-Shell: ~/.kshrc oder .profile

Legen Sie die folgenden beiden Umgebungsvariablen in Ihrem Shellprofil fest:

  • DOTNET_ROOT

    Diese Variable ist auf den Ordner festgelegt, in dem .NET installiert wurde (z. B. $HOME/.dotnet):

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    Diese Variable sollte sowohl den Ordner DOTNET_ROOT als auch den Ordner DOTNET_ROOT/tools enthalten:

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

Arm-basierte Mac-Computer

In den folgenden Abschnitten werden die Punkte beschrieben, die Sie bei der Installation von .NET auf einem Arm-basierten Mac-Computern berücksichtigen sollten.

Unterstützte Funktionen

In der folgenden Tabelle wird beschrieben, welche Versionen von .NET auf einem Arm-basierten Mac-Computer unterstützt werden:

.NET-Version Architektur SDK Typ Pfadkonflikt
8 ARM64 Ja Ja Nein
8 x64 Ja Ja Nein
7 ARM64 Ja Ja Nein
7 x64 Ja Ja Nein
6 ARM64 Ja Ja Nein
6 x64 Ja Ja Nein

Ab .NET 6 sind die x64- und Arm64-Versionen des .NET SDK unabhängig voneinander. Wenn eine neue Version veröffentlicht wird, muss jede Installation aktualisiert werden.

Pfadunterschiede

Auf einem Arm-basierten Mac-Computer werden alle Arm64-Versionen von .NET im normalen Ordner /usr/local/share/dotnet/ installiert. Wenn Sie jedoch die x64-Version des .NET SDK installieren, wird sie im Ordner /usr/local/share/dotnet/x64/dotnet/ installiert.

Pfadkonflikte

Ab .NET 6 wird das x64 .NET SDK 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 .NET 6 nicht unterstützt und am gleichen Speicherort wie die Arm64-Version im Ordner /usr/local/share/dotnet/ installiert. Wenn Sie ein nicht unterstütztes x64-SDK installieren möchten, müssen Sie zunächst die Arm64-Version deinstallieren. Das Gegenteil ist der Fall: Sie müssen das nicht unterstützte x64-SDK deinstallieren, um die Arm64-Version zu installieren.

Pfadvariablen

Umgebungsvariablen, die .NET zum Systempfad hinzufügen, wie z. B. die PATH-Variable, müssen möglicherweise geändert werden, wenn Sie sowohl die x64- als auch die Arm64-Version des .NET 6 SDK installiert haben. Außerdem sind einige Tools auf die DOTNET_ROOT-Umgebungsvariable angewiesen, die ebenfalls aktualisiert werden müsste, um auf den entsprechenden Installationsordner des .NET 6 SDK zu verweisen.

Installieren mit Visual Studio für Mac

Visual Studio für Mac installiert das .NET SDK, wenn die .NET-Workload ausgewählt wird. Informationen zu den ersten Schritten mit der .NET-Entwicklung unter macOS finden Sie unter Installieren von Visual Studio 2019 für Mac.

.NET SDK-Version Visual Studio-Version
8.0 Visual Studio 2022 für Mac 17.6 oder höher. (Als Vorschaufeature verfügbar.)
7.0 Visual Studio 2022 für Mac 17.4 oder höher.
6.0 Visual Studio 2022 für Mac Vorschau 3 17.0 oder höher.

macOS Visual Studio 2019 for Mac with the .NET workload selected.

Wichtig

Microsoft hat die Ausmusterung von Visual Studio für Mac angekündigt. Visual Studio für Mac wird ab dem 31. August 2024 nicht mehr unterstützt. Zu den Alternativen gehören:

  • Visual Studio Code mit dem C# Dev-Kit und verwandten Erweiterungen, z. B. .NET MAUI und Unity.
  • Visual Studio wird unter Windows in einer VM auf einem Mac ausgeführt.
  • Visual Studio wird unter Windows in einer VM in der Cloud ausgeführt.

Weitere Informationen finden Sie in der Einstellungsankündigung von Visual Studio für Mac.

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 über keine automatisierten .NET-Installationsprogramme, allerdings ist das Hinzufügen der Unterstützung für .NET einfach.

  1. Laden Sie Visual Studio Code herunter, und installieren Sie das Tool.
  2. Laden Sie das .NET SDK herunter, und installieren Sie es.
  3. Installieren Sie die C#-Erweiterung aus dem Visual Studio Code Marketplace.

Installieren mit Bash-Automatisierung

Die dotnet-Installationsskripts werden für die Automatisierung und Installationen der Runtime von nicht-Administratoren verwendet. Sie können das Skript über die Seite dotnet-install-Skriptverweis herunterladen.

Das Skript installiert standardmäßig die aktuelle Version von LTS (Long-Term Support). Dies ist derzeit .NET 8. 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.

Der folgende Befehl installiert die ASP.NET Core-Runtime für maximale Kompatibilität. Die ASP.NET Core-Runtime enthält auch die .NET-Standardruntime.

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

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.NET Docker-Hub-Repository verfügbar. Jedes Repository enthält Images für verschiedene Kombinationen von .NET (SDK oder Runtime) und dem 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 Docker-Beispiele für .NET.

Nächste Schritte