Cómo instalar varias versiones de .Net SDK en Ubuntu

Cómo instalar varias versiones de .Net SDK en Ubuntu

Estoy intentando crear una aplicación .Net que requiere una versión específica del SDK .Net, a saber:"version": "2.2.107"

Una actualización reciente de apt actualizó la versión .Net SDK instalada a la última versión disponible, que es 2.2.300.

¿Es posible instalar varias versiones del mismo SDK?

Puedo tener varias versiones menores del SDK instaladas como se muestra aquí

$ dotnet --list-sdks
2.1.700 [/usr/share/dotnet/sdk]
2.2.300 [/usr/share/dotnet/sdk]

Estoy tratando de evitar tener que desinstalar mi versión instalada actual solo para crear esta aplicación.

Como nota al margen, la página de descarga de Microsoft no proporciona instrucciones para instalar una versión específica, lo que sospecho que es un error. Los comandos mostrados siempre instalarán la última versión, incluso si accedió a esa página haciendo clic en la versión que realmente desea instalar.

https://dotnet.microsoft.com/download/linux-package-manager/ubuntu18-04/sdk-2.2.107

Respuesta1

Cada administrador de paquetes como APT o RPM se ocupa de la versión más nueva (y sólo la más nueva) del paquete. Se aplica a los paquetes .Net Core, por lo que no puede tener una versión más antigua y una más nueva del paquete al mismo tiempo. Microsoft ha preparado un script para instalar archivos binarios de .Net Core (.Net Core, ASP.NET Core SDK y Runtimes) sin administradores de paquetes. Puedes descargar este script desde aquí:

https://dot.net/v1/dotnet-install.sh

Con este script puede especificar qué versión desea instalar (opción -v o –version) y dónde desea instalar los archivos binarios (opciones -i o –install-dir).

  • Desinstale los paquetes existentes con "apt remove dotnet-",
  • Instale los archivos binarios elegidos especificados con la opción “—versión” en la misma carpeta (/usr/share/dotnet).

El script es muy sofisticado y se puede ejecutar con muchas más opciones. Especifique “—ayuda” con la primera ejecución para leer sobre esto. Aviso: el script agregará la carpeta de instalación a la variable de entorno $PATH actual pero no al archivo de perfil de su shell. Deberías hacer esto manualmente.

Respuesta2

El problema está en el administrador de paquetes, que desinstala la versión anterior antes de instalar la nueva. Puede utilizar scripts de instalación de botnet proporcionados por Microsoft para recuperar e instalar paquetes binarios dotnet independientemente del administrador de paquetes. Todas las instrucciones las puedes encontrar aquí: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script

información relacionada