Как установить несколько версий .Net SDK на Ubuntu

Как установить несколько версий .Net SDK на Ubuntu

Я пытаюсь создать приложение .Net, которому требуется определенная версия .Net SDK, а именно:"version": "2.2.107"

Недавнее обновление apt обновило установленную версию .Net SDK до последней доступной версии — 2.2.300.

Можно ли установить несколько версий одного и того же SDK?

Я могу установить несколько младших версий SDK, как показано здесь

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

Я пытаюсь избежать необходимости удалять текущую установленную версию только для того, чтобы собрать это приложение.

В качестве примечания, страница загрузки Microsoft не дает инструкций по установке определенной версии, что, как я подозреваю, является ошибкой. Показанные команды всегда установят последнюю версию, даже если вы попали на эту страницу, щелкнув по версии, которую вы на самом деле хотите установить.

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

решение1

Каждый менеджер пакетов, такой как APT или RPM, имеет дело с новейшей (и только новейшей) версией пакета. Это относится к пакетам .Net Core, поэтому вы не можете иметь старую и новую версию пакета одновременно. Microsoft подготовила скрипт для установки двоичных файлов .Net Core (.Net Core, ASP.NET Core SDK и Runtimes) без менеджеров пакетов. Вы можете скачать этот скрипт здесь:

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

С помощью этого скрипта вы можете указать, какую версию вы хотите установить (опция -v или –version) и куда вы хотите установить двоичные файлы (опция -i или –install-dir).

  • Удалите существующие пакеты с помощью «apt remove dotnet-»,
  • Установите выбранные двоичные файлы, указанные с помощью параметра «—version», в ту же папку (/usr/share/dotnet).

Скрипт очень сложный и может быть запущен с гораздо большим количеством опций. Укажите «—help» при первом запуске, чтобы прочитать об этом. Примечание: скрипт добавит папку установки в текущую переменную окружения $PATH, но не в файл профиля вашей оболочки. Вам следует сделать это вручную.

решение2

Проблема в менеджере пакетов, который удаляет старую версию перед установкой новой. Вы можете использовать скрипты botnet-install, предоставленные Microsoft, чтобы получить и установить двоичные пакеты dotnet независимо от менеджера пакетов. Все инструкции вы можете найти здесь: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script

Связанный контент