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

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.

Cet article explique comment installer .NET sur Alpine. Lorsqu’une version d’Alpine n’est plus prise en charge, .NET n’est plus pris en charge avec cette version.

Si vous utilisez Docker, envisagez d’utiliser des images Docker .NET officielles au lieu d’installer .NET vous-même.

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

Le gestionnaire de package Alpine prend en charge l’installation de certaines versions de .NET. Si le package .NET n’est pas disponible, vous devez installer .NET de l’une des façons suivantes :

Installez .NET 8

.NET 8 n’est pas encore disponible dans la branche par défaut du référentiel de package Alpine. Utilisez la branche edge pour installer .NET 8. Utilisez également l’une des méthodes suivantes pour installer .NET 8 :

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 apk add dotnet7-sdk

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 apk add aspnetcore7-runtime

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 aspnetcore7-runtime dans la commande précédente par dotnet7-runtime :

sudo apk add dotnet7-runtime

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 apk add dotnet6-sdk

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 apk add aspnetcore6-runtime

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

sudo apk add dotnet6-runtime

Distributions prises en charge

Le tableau suivant répertorie les versions .NET actuellement prises en charge et les versions d’Alpine 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 d’Alpine.

Alpine Version prise en charge Disponible dans le gestionnaire de package
3,19 .NET 8.0, .NET 7.0, .NET 6.0 .NET 7.0, .NET 6.0
3,18 .NET 8.0, .NET 7.0, .NET 6.0 .NET 7.0, .NET 6.0
3.17 .NET 8.0, .NET 7.0, .NET 6.0 .NET 7.0, .NET 6.0
3.16 .NET 7.0, .NET 6.0 .NET 6.0
3,15 .NET 7.0, .NET 6.0 Aucun

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

Architectures prises en charge

Le tableau suivant répertorie les versions .NET actuellement prises en charge et l’architecture d’Alpine sur laquelle elles sont prises en charge. Ces versions restent prises en charge jusqu’à ce que la version de .NET atteigne la fin de la prise en charge ou que l’architecture d’Alpine soit prise en charge#. Notez que seul x86_64, armv7, aarch64 est officiellement pris en charge par Microsoft. D’autres architectures sont prises en charge par les gestionnaires de distribution et peuvent être installées à l’aide du gestionnaire de package apk.

Architecture .NET 6 .NET 7 .NET 8
x86_64 3.16, 3.17, 3.18 3.17, 3.18 3.17, 3.18
x86 None None None
aarch64 3.16, 3.17, 3.18 3.17, 3.18 3.17, 3.18
armv7 3.16, 3.17, 3.18 3.17, 3.18 3.17, 3.18
armhf None None None
s390x 3.17 3.17 3.17
ppc64le None None None
riscv64 None None None

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 :

3.18+

  • ca-certificates-bundle
  • libgcc
  • libssl3
  • libstdc++
  • zlib
  • libgdiplus (si l’application .NET nécessite l’assembly System.Drawing.Common)

3.15 : 3.17

  • icu-libs
  • krb5-libs
  • libgcc
  • libintl
  • libssl3
  • libstdc++
  • zlib
  • libgdiplus (si l’application .NET nécessite l’assembly System.Drawing.Common)

Utilisez la commande apk add pour installer les dépendances.

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.

Pour installer libgdiplus, exécutez :

apk add libgdiplus

Étapes suivantes