Compartir a través de


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

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

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.

Para obtener más información sobre cómo instalar .NET sin un administrador de paquetes, consulte uno de los siguientes artículos:

Distribuciones admitidas

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

Fedora .NET
41 9.0, 8.0
40 9.0, 8.0, 6.0
39 8.0, 6.0

Importante

Fedora 39 llega al final de la vida el 12 de noviembre de 2024.

.NET 9 está actualmente en versión preliminar.

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

  • .NET 7
  • .NET 6 (a partir del 12 de noviembre de 2024)
  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

Instalación de .NET 8

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 dnf install dotnet-sdk-8.0

Para obtener información sobre cómo usar la CLI de .NET, consulte Información general sobre la CLI de .NET.

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 dnf install aspnetcore-runtime-8.0

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 aspnetcore-runtime-8.0 por dotnet-runtime-8.0:

sudo dnf install dotnet-runtime-8.0

Para obtener información sobre cómo usar la CLI de .NET, consulte introducción a la CLI de .NET.

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 dnf install dotnet-sdk-6.0

Para obtener información sobre cómo usar la CLI de .NET, consulte Información general sobre la CLI de .NET.

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 dnf install aspnetcore-runtime-6.0

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 aspnetcore-runtime-6.0 por dotnet-runtime-6.0:

sudo dnf install dotnet-runtime-6.0

Para obtener información sobre cómo usar la CLI de .NET, consulte introducción a la CLI de .NET.

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:

  • krb5-libs
  • libicu
  • openssl-libs
  • zlib

Si la versión de OpenSSL del entorno de tiempo de ejecución de destino es 1.1 o más reciente, deberá instalar compat-openssl10.

Las dependencias se pueden instalar con el comando yum install. En el fragmento de código siguiente se muestra cómo instalar la biblioteca libicu:

sudo yum install libicu

Para obtener más información sobre las dependencias, vea Aplicaciones de Linux independientes.

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.

Puede instalar una versión reciente de libgdiplusagregando el repositorio Mono al sistema.

Instalación en distribuciones anteriores

Las versiones anteriores de Fedora no contienen .NET en los repositorios de paquetes predeterminados. Puede instalar .NET con el script dotnet-install.sh o con el repositorio de Microsoft para la instalación de .NET:

  1. En primer lugar, agregue la clave de firma de Microsoft a la lista de claves de confianza.

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  2. Después, agregue el repositorio de paquetes de Microsoft. El origen del repositorio se basa en la versión que tenga de Fedora.

    Versión de Fedora Repositorio de paquetes
    36 https://packages.microsoft.com/config/fedora/36/prod.repo
    35 https://packages.microsoft.com/config/fedora/35/prod.repo
    34 https://packages.microsoft.com/config/fedora/34/prod.repo
    33 https://packages.microsoft.com/config/fedora/33/prod.repo
    32 https://packages.microsoft.com/config/fedora/32/prod.repo
    31 https://packages.microsoft.com/config/fedora/31/prod.repo
    30 https://packages.microsoft.com/config/fedora/30/prod.repo
    29 https://packages.microsoft.com/config/fedora/29/prod.repo
    28 https://packages.microsoft.com/config/fedora/28/prod.repo
    27 https://packages.microsoft.com/config/fedora/27/prod.repo
    sudo wget -O /etc/yum.repos.d/microsoft-prod.repo https://packages.microsoft.com/config/fedora/31/prod.repo
    
  3. Use el comando sudo dnf install para instalar un paquete Snap del SDK de .NET.

Procedimiento para instalar otras versiones

Todas las versiones de .NET están disponibles para la descarga en https://dotnet.microsoft.com/download/dotnet, pero requieren la instalación manual. Puede intentar usar el administrador de paquetes para instalar una versión diferente de .NET. Sin embargo, es posible que la versión solicitada no esté disponible.

Los paquetes agregados a las fuentes del administrador de paquetes se denominan con un formato susceptible de intrusiones, como, por ejemplo: {product}-{type}-{version}.

  • product
    Tipo de producto .NET que se va a instalar. Las opciones válidas son:

    • dotnet
    • aspnetcore
  • type
    Elige el SDK o el entorno de ejecución. Las opciones válidas son:

    • sdk (solo disponible para el producto dotnet)
    • runtime
  • version
    Versión del SDK o del entorno de ejecución que se va a instalar. Las opciones válidas son cualquier versión de lanzamiento, como las siguientes:

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    Es posible que el SDK o el entorno de ejecución que intenta descargar no esté disponible para la distribución de Linux. Para obtener una lista de las distribuciones admitidas, vea Instalación de .NET en Linux.

Ejemplos

  • Instalación del entorno de ejecución de ASP.NET Core 8.0: aspnetcore-runtime-8.0
  • Instalación del entorno de ejecución de ASP.NET Core 2.1: dotnet-runtime-2.1
  • Instalación del SDK de .NET 5: dotnet-sdk-5.0
  • Instalación del SDK de .NET Core 3.1: dotnet-sdk-3.1

Nota:

Es posible que algún paquete no esté disponible en la distribución de Linux.

Falta el paquete

Si la combinación de paquete y versión no funciona, no está disponible. Por ejemplo, no hay un SDK de ASP.NET Core. Los componentes del SDK para ASP.NET Core se incluyen con el SDK de .NET. El valor aspnetcore-sdk-8.0 es no es correcto y debe ser dotnet-sdk-8.0. Para obtener una lista de las distribuciones de Linux compatibles con .NET, vea Dependencias y requisitos de .NET.

Solución de problemas del administrador de paquetes

En esta sección se proporciona información sobre los errores comunes que puede recibir al usar el administrador de paquetes para instalar .NET o .NET Core.

No se puede encontrar el paquete

Para obtener más información sobre cómo instalar .NET sin un administrador de paquetes, consulte uno de los siguientes artículos:

No se pudo capturar el elemento

Al instalar el paquete de .NET, puede ver un error similar a signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod'. En términos generales, este error significa que la fuente de paquetes para .NET se está actualizando con versiones de paquetes más recientes y que debe volver a intentarlo más tarde. Durante una actualización, la fuente de paquetes no debe estar disponible durante más de 2 horas. Si recibe este error continuamente durante más de 2 horas, abra una incidencia en https://github.com/dotnet/core/issues.

Para obtener más información sobre cómo resolver estos problemas, vea Solución de errores de fxr, libhostfxr.so y FrameworkList.xml.

Pasos siguientes