Installieren des .NET SDK oder der .NET-Runtime unter Fedora

.NET wird unter Fedora unterstützt. In diesem Artikel wird beschrieben, wie Sie .NET unter Fedora installieren. Wenn für eine Fedora-Version kein Support mehr geboten wird, wird .NET mit dieser Version nicht mehr unterstützt.

Installieren Sie das SDK (das die Runtime enthält), wenn Sie .NET Core-Apps entwickeln möchten. Wenn Sie Apps nur ausführen möchten, installieren Sie die Runtime. Wenn Sie die Runtime installieren, wird die Installation der ASP.NET Core-Runtime empfohlen, da diese sowohl .NET- als auch ASP.NET Core-Runtimes umfasst.

Überprüfen Sie mithilfe der Befehle dotnet --list-sdks und dotnet --list-runtimes, welche Versionen installiert sind. Weitere Informationen finden Sie unter Überprüfen, ob .NET Core bereits installiert ist.

Weitere Informationen zur Installation von .NET ohne Paket-Manager finden Sie in einem der folgenden Artikel:

Unterstützte Distributionen

Die folgende Tabelle enthält die derzeit unterstützten .NET-Releases und Versionen von Fedora, unter denen sie unterstützt werden. Diese Versionen werden weiterhin unterstützt, bis entweder die Version von .NET das Ende des Supports oder die Version von Fedora das Ende ihrer Lebensdauer erreicht.

Fedora .NET
39 8, 7, 6
38 8, 7, 6
37 8, 7, 6

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

Installieren von .NET 8

Wichtig

.NET 8 wurde am 14. November 2023 veröffentlicht. Es kann Zeit dauern, bis die Pakete in den Paket-Manager-Feeds angezeigt werden.

Installieren des SDKs

Das .NET SDK ermöglicht Ihnen die Entwicklung von Apps mit .NET. Wenn Sie das .NET SDK installieren, müssen Sie die entsprechende Runtime nicht installieren. Führen Sie den folgenden Befehl aus, um das .NET SDK zu installieren:

sudo dnf install dotnet-sdk-8.0

Installieren der Runtime

Die ASP.NET Core-Runtime ermöglicht Ihnen die Ausführung von Apps, die mit .NET erstellt wurden und die Runtime nicht enthalten. Mit dem folgenden Befehl wird mit der ASP.NET Core-Runtime die kompatibelste Runtime für .NET installiert. Führen Sie in Ihrem Terminal den folgenden Befehl aus:

sudo dnf install aspnetcore-runtime-8.0

Als Alternative zur ASP.NET Core-Runtime können Sie die .NET-Runtime installieren, die keine ASP.NET Core-Unterstützung bietet: Ersetzen Sie dazu im vorangegangenen Befehl aspnetcore-runtime-8.0 durch dotnet-runtime-8.0:

sudo dnf install dotnet-runtime-8.0

Installieren von .NET 7

Installieren des SDKs

Das .NET SDK ermöglicht Ihnen die Entwicklung von Apps mit .NET. Wenn Sie das .NET SDK installieren, müssen Sie die entsprechende Runtime nicht installieren. Führen Sie den folgenden Befehl aus, um das .NET SDK zu installieren:

sudo dnf install dotnet-sdk-7.0

Installieren der Runtime

Die ASP.NET Core-Runtime ermöglicht Ihnen die Ausführung von Apps, die mit .NET erstellt wurden und die Runtime nicht enthalten. Mit dem folgenden Befehl wird mit der ASP.NET Core-Runtime die kompatibelste Runtime für .NET installiert. Führen Sie in Ihrem Terminal den folgenden Befehl aus:

sudo dnf install aspnetcore-runtime-7.0

Als Alternative zur ASP.NET Core-Runtime können Sie die .NET-Runtime installieren, die keine ASP.NET Core-Unterstützung bietet: Ersetzen Sie dazu im vorangegangenen Befehl aspnetcore-runtime-7.0 durch dotnet-runtime-7.0:

sudo dnf install dotnet-runtime-7.0

Installieren von .NET 6

Installieren des SDKs

Das .NET SDK ermöglicht Ihnen die Entwicklung von Apps mit .NET. Wenn Sie das .NET SDK installieren, müssen Sie die entsprechende Runtime nicht installieren. Führen Sie den folgenden Befehl aus, um das .NET SDK zu installieren:

sudo dnf install dotnet-sdk-6.0

Installieren der Runtime

Die ASP.NET Core-Runtime ermöglicht Ihnen die Ausführung von Apps, die mit .NET erstellt wurden und die Runtime nicht enthalten. Mit dem folgenden Befehl wird mit der ASP.NET Core-Runtime die kompatibelste Runtime für .NET installiert. Führen Sie in Ihrem Terminal den folgenden Befehl aus:

sudo dnf install aspnetcore-runtime-6.0

Als Alternative zur ASP.NET Core-Runtime können Sie die .NET-Runtime installieren, die keine ASP.NET Core-Unterstützung bietet: Ersetzen Sie dazu im vorangegangenen Befehl aspnetcore-runtime-6.0 durch dotnet-runtime-6.0:

sudo dnf install dotnet-runtime-6.0

Installieren von Vorschauversionen

Vorschau- und Release Candidate-Versionen von .NET sind in Paketrepositorys nicht verfügbar. Sie können Vorschauversionen und Release Candidates von .NET auf eine der folgenden Arten installieren:

Entfernen von Vorschauversionen

Wenn Sie Ihre .NET-Installation mit einem Paket-Manager verwalten, tritt möglicherweise ein Konflikt auf, wenn Sie zuvor eine Vorschauversion installiert haben. Der Paket-Manager kann die Nichtvorschauversion als frühere Version von .NET interpretieren. Für die Installation der Nichtvorschauversion müssen Sie zunächst die Vorschauversionen deinstallieren. Weitere Informationen zur Deinstallation von .NET finden Sie unter Entfernen der .NET-Runtime und des SDK.

Abhängigkeiten

Wenn die Installation mit einem Paket-Manager erfolgt, werden diese Bibliotheken für Sie installiert. Wenn Sie jedoch .NET manuell installieren oder eine eigenständige Anwendung veröffentlichen, müssen Sie sicherstellen, dass diese Bibliotheken installiert sind:

  • krb5-libs
  • libicu
  • openssl-libs
  • zlib

Wenn die OpenSSL-Version der Zielruntime-Umgebung 1.1 oder neuer ist, müssen Sie compat-openssl10 installieren.

Abhängigkeiten können mit dem Befehl yum install installiert werden Der folgende Codeschnipsel veranschaulicht die Installation der libicu-Bibliothek:

sudo yum install libicu

Weitere Informationen zu den Abhängigkeiten finden Sie unter Eigenständige Linux-Apps.

Wenn die .NET-App die System.Drawing.Common-Assembly verwendet, muss libgdiplus ebenfalls installiert werden. Da System.Drawing.Common unter Linux nicht mehr unterstützt wird, funktioniert dies nur unter .NET 6 und erfordert das Festlegen der System.Drawing.EnableUnixSupport-Laufzeitkonfigurationsoption.

Sie können eine neuere Version von libgdiplus installieren, indem Sie Ihrem System das Mono-Repository hinzufügen.

Installieren unter älteren Distributionen

Bei älteren Versionen von Fedora ist .NET Core nicht in den Standardpaketrepositorys enthalten. Sie können .NET mit dem Skript dotnet-install.sh installieren, oder Sie verwenden das Repository von Microsoft zur Installation von .NET:

  1. Fügen Sie zunächst den Microsoft-Signaturschlüssel zur Liste der vertrauenswürdigen Schlüssel hinzu.

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  2. Fügen Sie als Nächstes das Microsoft-Paketrepository hinzu. Die Quelle des Repositorys basiert auf Ihrer Fedora-Version.

    Fedora-Version Paketrepository
    36 https://packages.microsoft.com/config/fedora/36/prod.repo
    35 https://packages.microsoft.com/config/fedora/35/prod.repo
    34 https://packages.microsoft.com/config/fedora/34/prod.repo
    33 https://packages.microsoft.com/config/fedora/33/prod.repo
    32 https://packages.microsoft.com/config/fedora/32/prod.repo
    31 https://packages.microsoft.com/config/fedora/31/prod.repo
    30 https://packages.microsoft.com/config/fedora/30/prod.repo
    29 https://packages.microsoft.com/config/fedora/29/prod.repo
    28 https://packages.microsoft.com/config/fedora/28/prod.repo
    27 https://packages.microsoft.com/config/fedora/27/prod.repo
    sudo wget -O /etc/yum.repos.d/microsoft-prod.repo https://packages.microsoft.com/config/fedora/31/prod.repo
    

Installieren des SDKs

Das .NET SDK ermöglicht Ihnen die Entwicklung von Apps mit .NET. Wenn Sie das .NET SDK installieren, müssen Sie die entsprechende Runtime nicht installieren. Führen Sie den folgenden Befehl aus, um das .NET SDK zu installieren:

sudo dnf install dotnet-sdk-7.0

Installieren der Runtime

Die ASP.NET Core-Runtime ermöglicht Ihnen die Ausführung von Apps, die mit .NET erstellt wurden und die Runtime nicht enthalten. Mit dem folgenden Befehl wird mit der ASP.NET Core-Runtime die kompatibelste Runtime für .NET installiert. Führen Sie in Ihrem Terminal den folgenden Befehl aus:

sudo dnf install aspnetcore-runtime-7.0

Als Alternative zur ASP.NET Core-Runtime können Sie die .NET-Runtime installieren, die keine ASP.NET Core-Unterstützung bietet: Ersetzen Sie dazu im vorangegangenen Befehl aspnetcore-runtime-7.0 durch dotnet-runtime-7.0:

sudo dnf install dotnet-runtime-7.0

Installieren anderer Versionen

Alle Versionen von .NET stehen unter https://dotnet.microsoft.com/download/dotnet zum Download zur Verfügung, erfordern jedoch manuelle Installation. Sie können versuchen, den Paket-Manager zu verwenden, um eine andere Version von .NET zu installieren. Die angeforderte Version ist jedoch möglicherweise nicht verfügbar.

Die Pakete, die Paket-Manager-Feeds hinzugefügt werden, werden in einem Format benannt, das gehackt werden kann: {product}-{type}-{version}.

  • product
    Der Typ des zu installierenden .NET-Produkts. Folgende Optionen sind gültig:

    • dotnet
    • aspnetcore
  • type
    Wählt das SDK oder die Runtime aus. Folgende Optionen sind gültig:

    • sdk(nur für das dotnet-Produkt verfügbar)
    • runtime
  • Version
    Die Version des zu installierenden SDK oder der zu installierenden Runtime. Gültige Optionen sind alle veröffentlichte Versionen, wie z. B.:

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    Es ist möglich, dass das SDK bzw. die Runtime, das/die Sie herunterladen möchten, für Ihre Linux-Distribution nicht verfügbar ist. Eine Liste der unterstützten Distributionen finden Sie unter Installieren von .NET unter Linux.

Beispiele

  • Installieren der ASP.NET Core 8.0-Runtime: aspnetcore-runtime-8.0
  • Installieren der .NET Core 2.1-Runtime: dotnet-runtime-2.1
  • Installieren des .NET 5 SDK: dotnet-sdk-5.0
  • Installieren des .NET Core 3.1 SDK: dotnet-sdk-3.1

Hinweis

Einige Pakete sind möglicherweise nicht in Ihrer Linux-Distribution verfügbar.

Fehlendes Paket

Wenn die Kombination aus Paket und Version nicht funktioniert, ist sie nicht verfügbar. Es gibt z. B. kein ASP.NET Core SDK. Die SDK-Komponenten für ASP.NET Core sind im .NET SDK enthalten. Der Wert aspnetcore-sdk-8.0 ist falsch und sollte dotnet-sdk-8.0 lauten. Eine Liste der von .NET unterstützten Linux-Distributionen finden Sie unter .NET-Abhängigkeiten und -Anforderungen.

Problembehandlung des Paket-Managers

Dieser Abschnitt enthält Informationen zu häufigen Fehlern, die bei der Verwendung des Paket-Managers zur Installation von .NET oder .NET Core auftreten können.

Paket konnte nicht gefunden werden

Weitere Informationen zur Installation von .NET ohne Paket-Manager finden Sie in einem der folgenden Artikel:

Fehler beim Abrufen

Beim Installieren des .NET-Pakets wird möglicherweise ein Fehler wie signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod' angezeigt. Dieser Fehler bedeutet, dass ein Upgrade des Paketfeeds für .NET mit neueren Paketversionen durchgeführt wird, und dass Sie den Vorgang zu einem späteren Zeitpunkt wiederholen sollten. Während eines Upgrades sollte der Paketfeed maximal 2 Stunden lang nicht verfügbar sein. Wenn dieser Fehler länger als 2 Stunden auftritt, melden Sie ein Issue auf https://github.com/dotnet/core/issues.

Weitere Informationen zum Beheben dieser Probleme finden Sie unter Problembehandlung bei fxr-, libhostfxr.so- und FrameworkList.xml-Fehlern.

Nächste Schritte