Instalación del SDK y el entorno de ejecución de .NET en Alpine

Importante

.NET 8 se publicó el 14 de noviembre de 2023. Los paquetes pueden tardar tiempo en aparecer en las fuentes del administrador de paquetes.

.NET es compatible con Alpine y en este artículo se describe cómo instalar .NET en Alpine. Cuando una versión de Alpine no es compatible, .NET deja de ser compatible con esa versión.

Si usa Docker, plantéese usar imágenes oficiales de Docker de .NET en lugar de instalar .NET por su cuenta.

Instale el SDK (que incluye el entorno de ejecución) si quiere desarrollar aplicaciones .NET. O bien, si solo necesita ejecutar aplicaciones, instale el entorno de ejecución. Si va a instalar el entorno de ejecución, se recomienda instalar el entorno de ejecución de ASP.NET Core, ya que incluye los de .NET y ASP.NET Core.

Use los comandos dotnet --list-sdks y dotnet --list-runtimes para ver qué versiones están instaladas. Para obtener más información, vea Cómo comprobar que .NET Core ya está instalado.

El administrador de paquetes Alpine admite la instalación de algunas versiones de .NET. Si el paquete de .NET no está disponible, deberá instalar .NET de una de las siguientes maneras alternativas:

Instalación de .NET 8

.NET 8 aún no está disponible en la rama predeterminada del repositorio de paquetes de Alpine. Use la rama edge para instalar .NET 8. Como alternativa, use una de las siguientes maneras de instalar .NET 8:

Instalar .NET 7

Instalación del SDK

El SDK de .NET permite desarrollar aplicaciones con .NET. Si instala el SDK de .NET, no necesita instalar el entorno de ejecución correspondiente. Para instalar el SDK de .NET, ejecute el comando siguiente:

sudo apk add dotnet7-sdk

Instalación de la instancia en tiempo de ejecución

El entorno de ejecución de ASP.NET Core le permite ejecutar aplicaciones creadas con .NET en las que no se ha proporcionado el entorno de ejecución. El comando siguiente instala ASP.NET Core Runtime, que es el runtime más compatible con .NET. Ejecute el comando siguiente en el terminal:

sudo apk add aspnetcore7-runtime

Una alternativa al entorno de ejecución de ASP.NET Core es instalar el de .NET, que no incluye compatibilidad con ASP.NET Core; en el comando anterior, reemplace aspnetcore7-runtime por dotnet7-runtime:

sudo apk add dotnet7-runtime

Instalación de .NET 6

Instalación del SDK

El SDK de .NET permite desarrollar aplicaciones con .NET. Si instala el SDK de .NET, no necesita instalar el entorno de ejecución correspondiente. Para instalar el SDK de .NET, ejecute el comando siguiente:

sudo apk add dotnet6-sdk

Instalación de la instancia en tiempo de ejecución

El entorno de ejecución de ASP.NET Core le permite ejecutar aplicaciones creadas con .NET en las que no se ha proporcionado el entorno de ejecución. El comando siguiente instala ASP.NET Core Runtime, que es el runtime más compatible con .NET. Ejecute el comando siguiente en el terminal:

sudo apk add aspnetcore6-runtime

Una alternativa al entorno de ejecución de ASP.NET Core es instalar el tiempo de ejecución de .NET, que no incluye compatibilidad con ASP.NET Core. Para instalarlo, reemplace aspnetcore6-runtime en el comando anterior por dotnet6-runtime:

sudo apk add dotnet6-runtime

Distribuciones admitidas

En la tabla siguiente se muestra una lista de versiones de .NET actualmente compatibles y las versiones de Alpine en las que se admiten. Estas versiones siguen siendo compatibles hasta que la versión de .NET llega al fin del soporte técnico o la versión de Alpine llega al final del ciclo de vida.

Alpine Versión admitida Disponible en Administrador de paquetes
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 Ninguno

Las versiones siguientes de .NET ya ❌ no se admiten:

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

Arquitecturas compatibles

En la tabla siguiente se muestra una lista de versiones de .NET actualmente compatibles y la arquitectura de Alpine en las que se admiten. Estas versiones siguen siendo compatibles hasta que la versión de .NET llega al fin del soporte técnico o la arquitectura de Alpine en las que se admite#. Tenga en cuenta que solo x86_64Microsoft admite oficialmente, armv7aarch64. Otras arquitecturas son compatibles con los mantenedores de distribución y se pueden instalar mediante el apk administrador de paquetes.

Architecture .NET 6 .NET 7 .NET 8
x86_64 3.16, 3.17, 3.18 3.17, 3.18 3.17, 3.18
x86 Ninguno None Ninguno
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 Ninguno None Ninguno
s390x 3,17 3,17 3,17
ppc64le Ninguno None Ninguno
riscv64 Ninguno None Ninguno

Instalación de versiones preliminares

Las versiones preliminares y candidatas para lanzamiento de .NET no están disponibles en los repositorios de paquetes. Puede instalar las versiones preliminares y versiones candidatas para lanzamiento de .NET de una de las formas siguientes:

Eliminación de versiones preliminares

Cuando se usa un administrador de paquetes para administrar la instalación de .NET, es posible que se produzca un conflicto si previamente se ha instalado una versión preliminar. El administrador de paquetes puede interpretar la versión que no es preliminar como una versión anterior de .NET. Para instalar la versión que no es preliminar, desinstale primero las versiones preliminares. Para obtener más información sobre cómo desinstalar .NET, vea Procedimiento para quitar el entorno de ejecución y el SDK de .NET.

Dependencias

Al realizar la instalación con un administrador de paquetes, estas bibliotecas se instalan automáticamente. Pero si instala manualmente .NET o publica una aplicación independiente, deberá asegurarse de que estas bibliotecas estén instaladas:

3.18+

  • ca-certificates-bundle
  • libgcc
  • libssl3
  • libstdc++
  • zlib
  • libgdiplus (si la aplicación .NET requiere el ensamblado System.Drawing.Common)

3.15 - 3.17

  • icu-libs
  • krb5-libs
  • libgcc
  • libintl
  • libssl3
  • libstdc++
  • zlib
  • libgdiplus (si la aplicación .NET requiere el ensamblado System.Drawing.Common)

Use el comando apk add para instalar las dependencias.

Si la aplicación de .NET usa el ensamblado System.Drawing.Common, también será necesario instalar libgdiplus. Dado que System.Drawing.Common ya no se admite en Linux, solo funciona en .NET 6 y requiere que se establezca el conmutador de configuración en tiempo de ejecución System.Drawing.EnableUnixSupport.

Para instalar libgdiplus, ejecute:

apk add libgdiplus

Pasos siguientes