Partager via


Installer .NET Runtime avec Snap

Cet article décrit l’installation du package Snap .NET Runtime. Les packages Snap .NET Runtime sont fournis et gérés par Canonical. Les snaps constituent une excellente alternative au gestionnaire de package intégré à votre distribution Linux.

Un snap est un pack d’une application et de ses dépendances qui fonctionne dans de nombreuses distributions Linux différentes. Les Snaps sont détectables et installables à partir du Snap Store. Pour plus d'informations sur Snap, voir Visite guidée de démarrage rapide.

Attention

Les installations Snap de .NET peuvent rencontrer des problèmes lors de l’exécution des outils .NET. Si vous souhaitez utiliser des outils .NET, nous vous recommandons d’installer .NET à l’aide du dotnet-installscript ou du gestionnaire de package pour la distribution Linux particulière.

Prérequis

  • Distribution Linux qui prend en charge snap.
  • snapd le démon de snap.

Votre distribution Linux inclut peut-être déjà un snap. Essayez d’exécuter snap à partir d’un terminal pour voir si la commande fonctionne. Pour obtenir la liste des distributions Linux prises en charge et des instructions sur l’installation d’un snap, consultez Installation de snapd.

Versions de .NET

Microsoft publie .NET sous deux stratégies de support différentes, le support à long terme (LTS) et le support à terme standard (STS). La qualité de toutes les versions est la même. La seule différence est la longueur de la prise en charge. Les versions LTS bénéficient d'une assistance et de correctifs gratuits pendant trois ans. Les versions STS bénéficient d’un support et de correctifs gratuits pendant 18 mois. Pour plus d’informations, consultez la stratégie de support .NET.

Versions de .NET actuellement prises en charge par Microsoft :

  • 9.0 (STS) : le support prend fin mai 2026.
  • 8.0 (LTS) : le support se terminera le 10 novembre 2026.

D’autres entités qui créent et publient .NET peuvent introduire différentes stratégies de prise en charge. Veillez à les consulter pour comprendre comment .NET est pris en charge.

1. Installer le runtime

Important

.NET 9 a été publié le 12 novembre 2024. Il peut prendre du temps pour que les packages apparaissent dans les flux du gestionnaire de packages ou que votre distribution Linux spécifique l’inclue.

Les étapes suivantes installent le package d’alignement du runtime .NET 9 :

  1. Ouvrez un terminal.

  2. Utilisez snap install pour installer le package Snap .NET Runtime. Par exemple, la commande suivante permet d’installer .NET 8 Runtime.

    sudo snap install dotnet-runtime-80
    

Chaque .NET Runtime est publié en tant que package Snap individuel. Le tableau suivant liste les packages :

Version de .NET Package Snap Version .NET prise en charge par Microsoft
9 (STS) Non disponible pour l’instant Oui
8 (LTS) dotnet-runtime-80 Oui
7 (STS) dotnet-runtime-70 Non
6 (LTS) dotnet-runtime-60 Non
5 dotnet-runtime-50 Non
3.1 dotnet-runtime-31 Non
3.0 dotnet-runtime-30 Non
2.2 dotnet-runtime-22 Non
2.1 dotnet-runtime-21 Non

2. Activer la commande dotnet

Lorsque le package Snap .NET Runtime est installé, la commande dotnet n’est pas configurée automatiquement. Exécutez la commande snap alias pour utiliser la commande dotnet à partir du terminal. La commande est mise en forme comme suit : sudo snap alias {package}.{command} {alias}. L’exemple suivant mappe la commande dotnet :

sudo snap alias dotnet-runtime-90.dotnet dotnet

3. Exporter l’emplacement d’installation

La variable d’environnement DOTNET_ROOT est souvent utilisée par les outils pour déterminer où .NET est installé. Quand .NET est installé via Snap, cette variable d’environnement n’est pas configurée. Vous devez configurer la variable d’environnement DOTNET_ROOT dans votre profil. Le chemin d’accès au Snap utilise le format suivant : /snap/{package}/current. Par exemple, si vous avez installé le Snap dotnet-runtime-90, utilisez la commande suivante pour définir la variable d’environnement sur l’emplacement où se trouve .NET :

export DOTNET_ROOT=/snap/dotnet-runtime-90/current

Exporter la variable d’environnement définitivement

La commande export précédente définit uniquement la variable d’environnement pour la session de terminal dans laquelle elle a été exécutée.

Vous pouvez modifier votre profil d’interpréteur de commandes pour ajouter définitivement les commandes. Divers interpréteurs de commandes sont disponibles pour Linux et chacun présente un profil différent. Par exemple :

  • Interpréteur de commandes Bash : ~/.bash_profile, ~/.bashrc
  • Interpréteur de commandes Korn : ~/.kshrc ou .profile
  • Interpréteur de commandes Z : ~/.zshrc ou .zprofile

Modifiez le fichier source approprié pour votre interpréteur de commandes et ajoutez export DOTNET_ROOT=/snap/dotnet-runtime-90/current.

Dépannage

La commande de terminal dotnet ne fonctionne pas

Les packages Snap peuvent mapper un alias à une commande fournie par le package. Les packages Snap .NET Runtime ne créent pas automatiquement d’alias pour la commande dotnet. Pour créer un alias de la commande dotnet pour le package Snap, utilisez la commande suivante :

sudo snap alias dotnet-runtime-90.dotnet dotnet

Remplacez dotnet-runtime-90 par le nom de votre package d’exécution.

Impossible d’installer Snap sur WSL2

Vous devez activer systemd sur l’instance WSL2 avant d’installer Snap.

  1. Ouvrez /etc/wsl.conf dans l’éditeur de texte de votre choix.

  2. Collez-le dans la configuration suivante :

    [boot]
    systemd=true
    
  3. Enregistrez le fichier et redémarrez l’instance WSL2 via PowerShell. Utilisez la commande wsl.exe --shutdown.

4. Utiliser l’interface CLI .NET

Ouvrez un terminal et tapez dotnet.

dotnet

Vous voyez une sortie similaire à ce qui suit :

Usage: dotnet [options]
Usage: dotnet [path-to-application]

Options:
  -h|--help         Display help.
  --info            Display .NET information.
  --list-sdks       Display the installed SDKs.
  --list-runtimes   Display the installed runtimes.

path-to-application:
  The path to an application .dll file to execute.

Pour apprendre à utiliser l’interface CLI .NET, consultez Vue d’ensemble de l’interface CLI .NET.