Поделиться через


Установка среды выполнения .NET с помощью Snap

В этой статье описывается установка пакета привязки среды выполнения .NET. Пакеты snap среды выполнения .NET предоставляются и поддерживаются Canonical. Пакеты Snap — это отличная альтернатива диспетчеру пакетов, встроенному в дистрибутив Linux. Если необходимо установить пакет SDK, см. статью "Установка пакета SDK для .NET с помощью Snap".

Снап — это пакет, включающий приложение и его зависимости, которые работают на многих различных дистрибутивах Linux. Snap-пакеты можно найти и установить с помощью Snap Store. Дополнительные сведения о Snap см. в кратком руководстве.

Внимание

При установках Snap .NET могут возникнуть проблемы с запуском .NET средств. Если вы хотите использовать средства .NET, рекомендуется установить .NET с помощью dotnet-install скрипта или диспетчера пакетов для конкретного дистрибутива Linux.

Предварительные условия

  • Дистрибутив Linux, поддерживающий snap.
  • snapd демон Snap.

Ваш дистрибутив Linux может уже включать Snap. Попробуйте запустить snap из терминала, чтобы узнать, работает ли команда. Список поддерживаемых дистрибутивов Linux и инструкции по установке snap см. в разделе «Установка snapd».

Выпуски .NET

Корпорация Майкрософт публикует .NET в двух разных политиках поддержки, долгосрочной поддержке (LTS) и стандартной поддержке терминов (STS). Качество всех выпусков одинаково. Единственное различие заключается в продолжительности поддержки. Выпуски LTS получают бесплатную поддержку и исправления в течение трех лет. Выпуски STS получают бесплатную поддержку и исправления в течение двух лет. Дополнительные сведения см. в статье о политике поддержки .NET.

В настоящее время поддерживаются версии .NET, поддерживаемые корпорацией Майкрософт:

  • 10.0 (LTS)— поддержка заканчивается 14 ноября 2028 г.
  • 9.0 (STS) — поддержка заканчивается 10 ноября 2026 г.
  • 8.0 (LTS)— поддержка заканчивается 10 ноября 2026 г.

Другие организации, создающие и выпускающие .NET, могут вводить различные политики поддержки. Обязательно ознакомьтесь с ними, чтобы понять, как поддерживается .NET.

1. Установка среды выполнения

Следующие шаги устанавливают снап-пакет среды выполнения .NET 9:

  1. Откройте окно терминала.

  2. Используйте snap install, чтобы установить snap-пакет .NET Runtime. Например, следующая команда устанавливает среду выполнения .NET 9.

    sudo snap install dotnet-runtime-90
    

Каждая .NET Среда выполнения выпускается в виде отдельного snap-пакета. В следующей таблице перечислены пакеты:

Версия .NET Пакет программного обеспечения Snap Версия .NET, поддерживаемая корпорацией Майкрософт
10 (LTS) dotnet-runtime-100 Да
9 (STS) dotnet-runtime-90 Да
8 (LTS) dotnet-runtime-80 Да
7 (STS) dotnet-runtime-70 нет
6 (LTS) dotnet-runtime-60 нет
5 dotnet-runtime-50 нет
3.1 dotnet-runtime-31 нет
3.0 dotnet-runtime-30 нет
2.2 dotnet-runtime-22 нет
2.1 dotnet-runtime-21 нет

2. Включите команду dotnet

При установке dotnet пакета оснастки среды выполнения .NET команда не настраивается автоматически. Используйте команду snap alias, чтобы выполнить команду dotnet в терминале. Эта команда имеет следующий формат: sudo snap alias {package}.{command} {alias}. Следующий пример отображает команду dotnet.

sudo snap alias dotnet-runtime-90.dotnet dotnet

3. Экспорт расположения установки

Переменная среды DOTNET_ROOT часто используется различными средствами для определения места установки .NET. При установке .NET с помощью snap-пакета эта переменная среды не настраивается. Вам нужно настроить переменную среды DOTNET_ROOT в своем профиле. Путь к snap-пакету использует следующий формат: /snap/{package}/current. Например, если вы установили snap-пакет dotnet-runtime-90, используйте следующую команду, чтобы задать для переменной среды место расположения .NET:

export DOTNET_ROOT=/snap/dotnet-runtime-90/current

Экспорт переменной среды безвозвратно

Предыдущая команда export задает переменную среды только для сеанса терминала, в котором она была запущена.

Вы можете изменить профиль оболочки, чтобы постоянно добавлять команды. Существует несколько различных оболочек, доступных для Linux, и каждая из них имеет свой профиль. Например:

  • Оболочка Bash: ~/.bash_profile, ~/.bashrc
  • Оболочка Korn: ~/.kshrc или .profile
  • Оболочка Z: ~/.zshrc или .zprofile

Измените соответствующий исходный файл для своей оболочки и добавьте export DOTNET_ROOT=/snap/dotnet-runtime-90/current.

Устранение неполадок

Команда терминала dotnet не работает

Snap пакеты могут связывать псевдоним с командой, предоставленной пакетом. Пакеты привязки среды выполнения .NET не автоматически сопоставляют dotnet команду. Чтобы создать псевдоним для команды dotnet, привязывающейся к пакету snap, используйте следующую команду:

sudo snap alias dotnet-runtime-90.dotnet dotnet

Замените dotnet-runtime-90 именем пакета среды выполнения.

Не удается установить Snap в WSL2

systemd надо включить в WSL2 перед установкой Snap.

  1. Откройте /etc/wsl.conf в текстовом редакторе на ваш выбор.

  2. Вставьте следующую конфигурацию:

    [boot]
    systemd=true
    
  3. Сохраните файл и перезапустите экземпляр WSL2 с помощью PowerShell. Используйте команду wsl.exe --shutdown.

4. Использование интерфейса командной строки .NET

Откройте терминал и введите dotnet.

dotnet

Появится результат, аналогичный указанному ниже.

Usage: dotnet [options]
Usage: dotnet [path-to-application]

Options:
  -h|--help         Display help.
  --info            Display .NET information.
  --list-sdks       Display the installed SDKs.
  --list-runtimes   Display the installed runtimes.

path-to-application:
  The path to an application .dll file to execute.

См. раздел Обзор .NET CLI, чтобы узнать, как использовать .NET CLI.