es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

CentOS: Tiene AspNetCore.App 5.0.6 pero necesita AspNetCore.App 5.0.0.

Estoy intentando ejecutar una aplicación de consola .NET 5 (desarrollada en Windows) en un contenedor de Docker en CentOS 7.

Tengo lo siguiente:

[root@AU4RLBNAGV04A KLM Releases]# dotnet --list-runtimes
Microsoft.AspNetCore.App 3.1.15 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.6 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.15 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.6 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Pero obtengo este error cuando ejecuto el contenedor:

[root@AU4RLBNAGV04A KLM Releases]# docker logs klmcontainer
No fue posible encontrar ninguna versión compatible del framework
No se encontró el framework 'Microsoft.AspNetCore.App', versión '5.0.0'.
  - No se encontraron frameworks.

Puede resolver el problema instalando el framework y/o SDK especificados.

El framework especificado se puede encontrar en:
  - https://aka.ms/dotnet-core-applaunch?framework=Microsoft.AspNetCore.App&framework_version=5.0.0&arch=x64&rid=debian.10-x64

Intenté instalar la versión 5.0.0, pero obtengo este error:

[root@AU4RLBNAGV04A KLM Releases]# sudo yum install aspnetcore-runtime-5.0.0
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
No package aspnetcore-runtime-5.0.0 available.
Error: Nothing to do

¿Cómo puedo resolver esto?

Tags:  ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que no se puede encontrar la versión del framework especificada (Microsoft.AspNetCore.App 5.0.0) en el entorno actual. Una posible solución es descargar e instalar manualmente el tiempo de ejecución necesario de .NET 5.

    Aquí están los pasos a seguir:

    1. Encuentra la versión adecuada del tiempo de ejecución de .NET 5 para CentOS 7 en el sitio web oficial de Microsoft: https://dotnet.microsoft.com/download/dotnet/5.0
    2. Descarga el paquete de tiempo de ejecución para CentOS 7 y guárdalo en un directorio en tu máquina CentOS.

    3. Abre una ventana de terminal y navega hasta el directorio donde se encuentra el paquete de tiempo de ejecución.

    4. Instala el paquete de tiempo de ejecución usando el siguiente comando: sudo rpm -i <nombre_del_paquete>.rpm

    Por ejemplo, si el nombre del paquete es dotnet-runtime-5.0.7.x86_64.rpm, el comando sería:

    sudo rpm -i dotnet-runtime-5.0.7.x86_64.rpm

    1. Verifica que el tiempo de ejecución se haya instalado ejecutando el comando: dotnet --list-runtimes
  2. Si el tiempo de ejecución se ha instalado correctamente, crea una nueva imagen de Docker que incluya el tiempo de ejecución de .NET 5 agregando la siguiente línea al archivo Dockerfile:

    RUN yum install -y <nombre_del_paquete>.rpm

  3. Reconstruye la imagen de Docker y luego ejecuta el contenedor nuevamente.

  4. Con estos pasos, el tiempo de ejecución de .NET 5 necesario debería estar instalado en CentOS 7 y la aplicación de consola debería poder ejecutarse en el contenedor Docker sin problemas.

Comments are closed.