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

.NET est pris en charge sur openSUSE. Cet article explique comment installer .NET sur openSUSE.

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 sur openSUSE 15. Ces versions restent prises en charge jusqu’à ce que la version de .NET atteigne la fin de la prise en charge ou que la version d’openSUSE ne soit plus prise en charge.

OpenSUSE .NET
15.4+ 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

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.

OpenSUSE 15

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 Microsoft. Ouvrez un terminal et exécutez les commandes suivantes :

sudo zypper install libicu
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
wget https://packages.microsoft.com/config/opensuse/15/prod.repo
sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
sudo chown root:root /etc/zypp/repos.d/microsoft-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 zypper 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 zypper 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 zypper install dotnet-runtime-8.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 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 lors de l’utilisation du gestionnaire de package 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 :

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.

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 :

  • krb5
  • libicu
  • libopenssl1_0_0

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 zypper install. L’extrait de code suivant illustre l’installation de la bibliothèque krb5 :

sudo zypper install krb5

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.

Étapes suivantes