Installer le SDK .NET ou le runtime .NET sur Debian

Cet article explique comment installer .NET sur Debian. Lorsqu’une version de Debian n’est plus prise en charge, .NET n’est plus pris en charge avec cette version. Toutefois, ces instructions peuvent vous aider à exécuter .NET sur ces versions, même si elles ne sont pas prises en charge.

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

Important

L’utilisation d’un gestionnaire de package pour installer .NET à partir du flux de package Microsoft prend uniquement en charge l’architecture x64. Les autres architectures, comme Arm, ne sont pas prises en charge par le flux de package Microsoft.

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

Debian .NET
12 8, 7, 6
11 8, 7, 6
10 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

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.

Debian 12

L’installation avec APT peut être effectuée à l’aide de quelques commandes. Avant d’installer .NET, exécutez les commandes suivantes pour ajouter la clé de signature du package Microsoft à votre liste de clés approuvées et ajouter le référentiel de packages.

Ouvrez un terminal et exécutez les commandes suivantes :

wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

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 les commandes suivantes :

sudo apt-get update && \
  sudo apt-get install -y 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. Les commandes suivantes installent le runtime ASP.NET Core, qui est le runtime le plus compatible pour .NET. Dans votre terminal, exécutez les commandes suivantes :

sudo apt-get update && \
  sudo apt-get install -y 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 apt-get install -y dotnet-runtime-8.0

Debian 11

L’installation avec APT peut se faire à l’aide de quelques commandes. Avant d’installer .NET, exécutez les commandes suivantes pour ajouter la clé de signature du package Microsoft à votre liste de clés approuvées et ajouter le référentiel de packages.

Ouvrez un terminal et exécutez les commandes suivantes :

wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

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 les commandes suivantes :

sudo apt-get update && \
  sudo apt-get install -y 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. Les commandes suivantes installent le runtime ASP.NET Core, qui est le runtime le plus compatible pour .NET. Dans votre terminal, exécutez les commandes suivantes :

sudo apt-get update && \
  sudo apt-get install -y 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 apt-get install -y dotnet-runtime-8.0

Debian 10

L’installation avec APT peut se faire à l’aide de quelques commandes. Avant d’installer .NET, exécutez les commandes suivantes pour ajouter la clé de signature du package Microsoft à votre liste de clés approuvées et ajouter le référentiel de packages.

Ouvrez un terminal et exécutez les commandes suivantes :

wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

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 les commandes suivantes :

sudo apt-get update && \
  sudo apt-get install -y 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. Les commandes suivantes installent le runtime ASP.NET Core, qui est le runtime le plus compatible pour .NET. Dans votre terminal, exécutez les commandes suivantes :

sudo apt-get update && \
  sudo apt-get install -y 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 apt-get install -y 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.

Utiliser APT pour mettre à jour .NET

Lorsqu’une nouvelle version de correctif est disponible pour .NET, vous pouvez simplement la mettre à niveau via APT avec les commandes suivantes :

sudo apt-get update
sudo apt-get upgrade

Si vous avez mis à niveau votre distribution Linux depuis l’installation de .NET, vous devrez peut-être reconfigurer le référentiel de packages Microsoft. Exécutez les instructions d’installation de votre version de distribution actuelle pour effectuer une mise à niveau vers le référentiel de packages approprié pour les mises à jour .NET.

Dépannage

Cette section fournit des informations sur les erreurs courantes que vous pouvez obtenir lors de l’utilisation d’APT pour installer .NET.

Le package est introuvable

Important

L’utilisation d’un gestionnaire de package pour installer .NET à partir du flux de package Microsoft prend uniquement en charge l’architecture x64. Les autres architectures, comme Arm, ne sont pas prises en charge par le flux de package Microsoft.

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

Package introuvable\Certains packages n’ont pas pu être installés

Si vous recevez un message d’erreur semblable à Le package {dotnet-package} est introuvable ou Certains packages n’ont pas pu être installés, exécutez les commandes suivantes.

Il existe deux espaces réservés dans l’ensemble de commandes suivant.

  • {dotnet-package}
    Celui-ci représente le package .NET que vous installez (par exemple, aspnetcore-runtime-8.0). Il est utilisé dans la commande sudo apt-get install suivante.

Commencez par essayer de vider la liste des packages :

sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update

Réessayez ensuite d’installer .NET. Si cela ne fonctionne pas, vous pouvez effectuer une installation manuelle avec les commandes suivantes :

Si vous utilisez Debian 12 ou une version ultérieure, essayez les commandes suivantes :

# Define the OS version, name, and codename
source /etc/os-release

# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg

# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

# Move the key to the appropriate place
sudo mv microsoft.asc.gpg $(cat /etc/apt/sources.list.d/microsoft-prod.list | grep -oP "(?<=signed-by=).*(?=\])")

# Update packages and install .NET
sudo apt-get update && \
  sudo apt-get install -y {dotnet-package}

Si vous utilisez une version antérieure à Debian 12, essayez les commandes suivantes :

# Define the OS version, name, and codename
source /etc/os-release

# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/

# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

# Set ownership
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list

# Update packages and install .NET
sudo apt-get update && \
  sudo apt-get install -y {dotnet-package}

Extraction impossible

Lors de l’installation du package .NET, vous pouvez voir une erreur semblable à Failed to fetch ... File has unexpected size ... Mirror sync in progress?. Celle-ci peut signifier 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 30 minutes. Si vous recevez continuellement cette erreur pendant plus de 30 minutes, veuillez signaler le problème à l’adresse https://github.com/dotnet/core/issues.

Les 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 :

  • libc6
  • libgcc1 (pour 10.x)
  • libgcc-s1 (pour 11.x et 12.x)
  • libgssapi-krb5-2
  • libicu63 (pour 10.x)
  • libicu67 (pour 11.x)
  • libicu72 (pour 12.x)
  • libssl1.1
  • libstdc++6
  • zlib1g

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

sudo apt install libc6

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.

Étapes suivantes