Estou tentando construir um aplicativo .Net que requer uma versão específica do .Net SDK, a saber:"version": "2.2.107"
Uma atualização recente do apt atualizou a versão instalada do .Net SDK para a versão mais recente disponível, que é 2.2.300
.
É possível instalar várias versões do mesmo SDK?
Posso ter várias versões secundárias do SDK instaladas, conforme mostrado aqui
$ dotnet --list-sdks
2.1.700 [/usr/share/dotnet/sdk]
2.2.300 [/usr/share/dotnet/sdk]
Estou tentando evitar a necessidade de desinstalar minha versão atual instalada apenas para criar este aplicativo.
Como observação lateral, a página de download da Microsoft não fornece instruções para instalar uma versão específica, o que suspeito ser um bug. Os comandos mostrados sempre instalarão a versão mais recente, mesmo que você acesse essa página clicando na versão que realmente deseja instalar.
https://dotnet.microsoft.com/download/linux-package-manager/ubuntu18-04/sdk-2.2.107
Responder1
Todo gerenciador de pacotes como APT ou RPM lida com a versão mais recente (e apenas a mais nova) do pacote. Aplica-se a pacotes .Net Core, portanto você não pode ter versões mais antigas e mais recentes do pacote ao mesmo tempo. A Microsoft preparou um script para instalar binários .Net Core (.Net Core, ASP.NET Core SDKs e Runtimes) sem gerenciadores de pacotes. Você pode baixar este script aqui:
https://dot.net/v1/dotnet-install.sh
Com este script você pode especificar qual versão deseja instalar (opção -v ou –version) e onde deseja instalar os binários (opções -i ou –install-dir).
- Desinstale os pacotes existentes com “apt remove dotnet-”,
- Instale os binários escolhidos especificados com a opção “—version” na mesma pasta (/usr/share/dotnet).
O script é muito sofisticado e pode ser executado com muito mais opções. Especifique “—help” na primeira execução para ler sobre isso. Aviso: o script adicionará a pasta de instalação à variável de ambiente $PATH atual, mas não ao arquivo de perfil do seu shell. Você deve fazer isso manualmente.
Responder2
O problema está no gerenciador de pacotes que desinstala a versão mais antiga antes de instalar a mais recente. Você pode usar scripts de instalação de botnet fornecidos pela Microsoft para buscar e instalar pacotes binários dotnet independentemente do gerenciador de pacotes. Todas as instruções você encontra aqui: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script