Installer le Kit de développement logiciel (SDK) .NET ou le runtime .NET sur Fedora

.NET est pris en charge sur Fedora et cet article décrit comment installer .NET sur Fedora. Lorsqu’une version de Fedora n’est plus prise en charge, .NET n’est plus pris en charge avec cette version.

Installez le SDK (qui inclut le runtime) si vous souhaitez développer des applications .NET. Ou, si vous avez uniquement besoin d’exécuter des applications, installez le runtime. Si vous installez le runtime, nous vous suggérons d’installer le runtime ASP.NET Core, car il inclut à la fois les runtimes .NET et ASP.NET Core.

Utilisez les commandes dotnet --list-sdks et dotnet --list-runtimes pour voir quelles versions sont installées. Pour plus d’informations, consultez Comment vérifier que .NET est déjà installé.

Pour plus d’informations sur l’installation de .NET sans gestionnaire de package, consultez l’un des articles suivants :

Distributions prises en charge

Le tableau suivant répertorie les versions .NET actuellement prises en charge et les versions de Fedora sur lesquelles elles sont prises en charge. Ces versions restent prises en charge jusqu’à la fin du support de la version de .NET ou la fin du support de la version de Fedora.

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

Les versions suivantes de .NET ne sont ❌ plus prises en charge :

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

Installez .NET 8

Important

.NET 8 a été publié le 14 novembre 2023. L’affichage des packages peut prendre du temps dans les flux du gestionnaire de packages.

Installer le SDK

Le Kit de développement logiciel (SDK) .NET vous permet de développer des applications avec .NET. Si vous installez le SDK .NET, vous n’avez pas besoin d’installer le runtime correspondant. Pour installer le SDK .NET, exécutez la commande suivante :

sudo dnf install dotnet-sdk-8.0

Installer le runtime

Le runtime ASP.NET Core vous permet d’exécuter des applications qui ont été développées avec .NET qui n’ont pas fourni le runtime. La commande suivante installe le runtime ASP.NET Core, qui est le runtime le plus compatible pour .NET. Dans votre terminal, exécutez la commande suivante :

sudo dnf install aspnetcore-runtime-8.0

En guise d’alternative au runtime ASP.NET Core, vous pouvez installer le runtime .NET, qui n’inclut pas la prise en charge de ASP.NET Core : remplacez aspnetcore-runtime-8.0 dans la commande précédente par dotnet-runtime-8.0 :

sudo dnf install dotnet-runtime-8.0

Installer .NET 7

Installer le SDK

Le Kit de développement logiciel (SDK) .NET vous permet de développer des applications avec .NET. Si vous installez le SDK .NET, vous n’avez pas besoin d’installer le runtime correspondant. Pour installer le SDK .NET, exécutez la commande suivante :

sudo dnf install dotnet-sdk-7.0

Installer le runtime

Le runtime ASP.NET Core vous permet d’exécuter des applications qui ont été développées avec .NET qui n’ont pas fourni le runtime. La commande suivante installe le runtime ASP.NET Core, qui est le runtime le plus compatible pour .NET. Dans votre terminal, exécutez la commande suivante :

sudo dnf install aspnetcore-runtime-7.0

En guise d’alternative au runtime ASP.NET Core, vous pouvez installer le runtime .NET, qui n’inclut pas la prise en charge de ASP.NET Core : remplacez aspnetcore-runtime-7.0 dans la commande précédente par dotnet-runtime-7.0 :

sudo dnf install dotnet-runtime-7.0

Installer .NET 6

Installer le SDK

Le Kit de développement logiciel (SDK) .NET vous permet de développer des applications avec .NET. Si vous installez le SDK .NET, vous n’avez pas besoin d’installer le runtime correspondant. Pour installer le SDK .NET, exécutez la commande suivante :

sudo dnf install dotnet-sdk-6.0

Installer le runtime

Le runtime ASP.NET Core vous permet d’exécuter des applications qui ont été développées avec .NET qui n’ont pas fourni le runtime. La commande suivante installe le runtime ASP.NET Core, qui est le runtime le plus compatible pour .NET. Dans votre terminal, exécutez la commande suivante :

sudo dnf install aspnetcore-runtime-6.0

En guise d’alternative au runtime ASP.NET Core, vous pouvez installer le runtime .NET, qui n’inclut pas la prise en charge de ASP.NET Core : remplacez aspnetcore-runtime-6.0 dans la commande précédente par dotnet-runtime-6.0 :

sudo dnf install dotnet-runtime-6.0

Installer des préversions

Les préversions et les versions finales de .NET ne sont pas disponibles dans les dépôts de packages. Vous pouvez installer les préversions et les versions finales de .NET de l’une des manières suivantes :

Supprimer des préversions

Lorsque vous utilisez un gestionnaire de package pour gérer votre installation de .NET, vous pouvez rencontrer un conflit si vous avez déjà installé une préversion. Le gestionnaire de package peut interpréter la version qui ne correspond pas à la préversion comme une version antérieure de .NET. Pour installer la version qui ne correspond pas à la préversion, désinstallez d’abord les préversions. Pour plus d’informations sur la désinstallation de .NET, consultez Procédure de suppression du runtime et du kit de développement logiciel (SDK) .NET.

Dépendances

Lorsque vous effectuez une installation avec un gestionnaire de package, ces bibliothèques sont installées pour vous. Si vous installez manuellement .NET ou si vous publiez une application autonome, vous devrez toutefois vous assurer que les bibliothèques suivantes sont installées :

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

Si la version OpenSSL de l’environnement d’exécution cible est la version 1.1 ou une version ultérieure, vous devez installer compat-openssl10.

Les dépendances peuvent être installées avec la commande yum install. L’extrait de code suivant illustre l’installation de la bibliothèque libicu :

sudo yum install libicu

Pour plus d’informations sur les dépendances, consultez Applications Linux autonomes (en anglais).

Si l’application .NET utilise l’assembly System.Drawing.Common, libgdiplus doit également être installé. Étant donné que System.Drawing.Common n’est plus pris en charge sur Linux, cela fonctionne uniquement sur .NET 6 et nécessite de définir le commutateur de configuration du runtime System.Drawing.EnableUnixSupport.

Vous pouvez installer une version récente de libgdiplus en ajoutant le référentiel Mono à votre système.

Installer sur des distributions plus anciennes

Les versions antérieures de Fedora ne contiennent pas .NET Core dans les référentiels de package par défaut. Vous pouvez installer .NET avec le script dotnet-install.sh ou utiliser le dépôt de Microsoft pour installer .NET :

  1. Tout d’abord, ajoutez la clé de signature Microsoft à votre liste de clés approuvées.

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  2. Ensuite, ajoutez le référentiel de packages Microsoft. La source du référentiel est basée sur votre version de Fedora.

    Version Fedora Référentiel de packages
    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
    

Installer le SDK

Le Kit de développement logiciel (SDK) .NET vous permet de développer des applications avec .NET. Si vous installez le SDK .NET, vous n’avez pas besoin d’installer le runtime correspondant. Pour installer le SDK .NET, exécutez la commande suivante :

sudo dnf install dotnet-sdk-7.0

Installer le runtime

Le runtime ASP.NET Core vous permet d’exécuter des applications qui ont été développées avec .NET qui n’ont pas fourni le runtime. La commande suivante installe le runtime ASP.NET Core, qui est le runtime le plus compatible pour .NET. Dans votre terminal, exécutez la commande suivante :

sudo dnf install aspnetcore-runtime-7.0

En guise d’alternative au runtime ASP.NET Core, vous pouvez installer le runtime .NET, qui n’inclut pas la prise en charge de ASP.NET Core : remplacez aspnetcore-runtime-7.0 dans la commande précédente par dotnet-runtime-7.0 :

sudo dnf install dotnet-runtime-7.0

Comment installer d’autres versions

Toutes les versions de .NET peuvent être téléchargées sur la page https://dotnet.microsoft.com/download/dotnet, mais nécessitent une installation manuelle. Vous pouvez essayer d’utiliser le gestionnaire de package pour installer une autre version de .NET. Toutefois, il est possible que la version demandée ne soit pas disponible.

Les packages ajoutés aux flux du gestionnaire de package sont nommés dans un format hackable, par exemple : {product}-{type}-{version}.

  • product
    Type de produit .NET à installer. Les options valides sont les suivantes :

    • dotnet
    • aspnetcore
  • type
    Choisit le SDK ou le runtime. Les options valides sont les suivantes :

    • sdk (disponible uniquement pour le produit dotnet)
    • runtime
  • version
    Version du SDK ou du runtime à installer. Les options valides sont toutes les versions publiées, telles que :

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    Il est possible que le Kit de développement logiciel (SDK) ou le runtime que vous essayez de télécharger ne soit pas disponible pour votre distribution Linux. Pour obtenir la liste des distributions prises en charge, consultez Installer .NET sur Linux.

Exemples

  • Installer le runtime ASP.NET Core 8.0 : aspnetcore-runtime-8.0
  • Installer le runtime .NET Core 2.1 : dotnet-runtime-2.1
  • Installer le SDK .NET 5 : dotnet-sdk-5.0
  • Installer le SDK .NET Core 3.1 : dotnet-sdk-3.1

Remarque

Certains packages peuvent ne pas être disponibles sur votre distribution Linux.

Package manquant

Si la combinaison de versions de package ne fonctionne pas, elle n’est pas disponible. Par exemple, il n’existe pas de Kit de développement logiciel (SDK) ASP.NET Core. Les composants du Kit de développement logiciel (SDK) pour ASP.NET Core sont inclus dans le Kit de développement logiciel (SDK) .NET. La valeur aspnetcore-sdk-8.0 est incorrecte et doit être dotnet-sdk-8.0. Pour obtenir la liste des distributions Linux prises en charge par .NET, consultez Dépendances et exigences de .NET.

Résoudre les problèmes liés au gestionnaire de package

Cette section fournit des informations sur les erreurs courantes que vous pouvez obtenir lors de l’utilisation du gestionnaire de package pour installer .NET ou .NET Core.

Le package est introuvable

Pour plus d’informations sur l’installation de .NET sans gestionnaire de package, consultez l’un des articles suivants :

Extraction impossible

Lors de l’installation du package .NET, vous pouvez voir une erreur semblable à signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod'. En règle générale, cette erreur signifie que le flux de package pour .NET est en cours de mise à niveau avec des versions plus récentes du package, et que vous devez réessayer ultérieurement. Pendant une mise à niveau, le flux de package ne doit pas être indisponible pendant plus de 2 heures. Si vous recevez continuellement cette erreur pendant plus de 2 heures, veuillez signaler le problème à l’adresse https://github.com/dotnet/core/issues.

Pour plus d’informations sur la résolution de ces problèmes, consultez Résoudre les erreurs fxr, libhostfxr.so et FrameworkList.xml.

Étapes suivantes