- Установка пакета SDK для .NET или среды выполнения .NET вручную
- Выпуски .NET
- Зависимости
- Зависимости RPM
- Зависимости DEB
- Общие зависимости
- Установка с помощью скрипта
- Установка вручную
- Установка пакета SDK для .NET или среды выполнения .NET с использованием пакета Snap
- Выпуски .NET
- Пакет SDK или среда выполнения
- Установка пакета SDK
- Установка среды выполнения
- Экспорт расположения установки
- Ошибки сертификатов TLS/SSL
- Решение проблем с dotnet
- Псевдоним dotnet
- Install the .NET SDK or the .NET Runtime manually
- .NET releases
- Dependencies
- RPM dependencies
- DEB dependencies
- Common dependencies
- Scripted install
- Manual install
Установка пакета SDK для .NET или среды выполнения .NET вручную
Платформа .NET поддерживается в Linux. В этой статье описывается установка .NET в Linux с помощью скрипта установки или посредством извлечения двоичных файлов. Список дистрибутивов, поддерживающих встроенный диспетчер пакетов, см. в разделе Установка .NET в Linux.
Также можно установить .NET с помощью пакета Snap. Дополнительные сведения см. в разделе Установка пакета SDK для .NET или среды выполнения .NET с использованием пакета Snap.
Если вы хотите разрабатывать приложения .NET, установите пакет SDK (включает среду выполнения). Если нужно просто запустить приложения, установите среду выполнения. Если вы устанавливаете среду выполнения, мы рекомендуем установить среду выполнения ASP.NET Core, так как она включает в себя среды выполнения .NET и ASP.NET Core.
Если вы уже установили пакет SDK или среду выполнения, с помощью команд dotnet —list-sdks и dotnet —list-runtimes узнайте, какие версии установлены. Дополнительные сведения см. в статье Проверка того, установлена ли платформа .NET.
Выпуски .NET
В следующей таблице перечислены выпуски .NET (и .NET Core):
✔️ Поддерживается | ❌ Не поддерживается |
---|---|
5,0 | 3.0 |
3.1 (LTS) | 2.2 |
2.1 (LTS) | 2,0 |
1,1 | |
1.0 |
Дополнительные сведения о жизненном цикле выпусков .NET см. в разделе Политика поддержки .NET Core и .NET 5.
Зависимости
В некоторых случаях, например при установке .NET вручную, некоторые зависимости могут не устанавливаться. Ниже перечислены дистрибутивы Linux, которые поддерживаются корпорацией Майкрософт и для которых может потребоваться установка зависимостей. Дополнительные сведения см. на странице, посвященной соответствующему дистрибутиву:
Общие сведения о зависимостях см. в статье об автономных приложениях Linux.
Зависимости RPM
Если ваш дистрибутив не указан в приведенном выше списке и построен на основе RPM, могут потребоваться следующие зависимости:
Если в целевой среде выполнения установлена версия OpenSSL 1.1 или более поздняя, необходимо установить compat-openssl10.
Зависимости DEB
Если ваш дистрибутив не указан в приведенном выше списке и построен на основе Debian, могут потребоваться следующие зависимости:
Общие зависимости
Для приложений .NET, использующих сборку System.Drawing.Common, необходима также следующая зависимость:
Вы можете установить последнюю версию libgdiplus, добавив в систему репозиторий Mono. Для получения дополнительной информации см. https://www.mono-project.com/download/stable/.
Установка с помощью скрипта
Сценарии dotnet-install используются для автоматизации установок пакета SDK и среды выполнения и осуществления таких установок без прав администратора. Скрипт можно скачать на странице https://dot.net/v1/dotnet-install.sh.
![ВАЖНО] Для выполнения скрипта требуется Bash.
Этот сценарий по умолчанию устанавливает последнюю версию SDK с долгосрочной поддержкой (LTS), которой сейчас является .NET Core 3.1. Чтобы установить текущий выпуск, который может не быть версией LTS, используйте параметр -c Current .
Чтобы вместо пакета SDK установить среду выполнения .NET, используйте параметр —runtime .
Вы можете установить определенную версию, указав ее в параметре -c . Следующая команда устанавливает пакет SDK для .NET 5.0.
Установка вручную
В качестве альтернативы диспетчерам пакетов можно скачать и вручную установить пакет SDK и среду выполнения. Установка вручную как правило выполняется в рамках тестирования непрерывной интеграции или в неподдерживаемом дистрибутиве Linux. В большинстве случаев разработчикам и пользователям рекомендуется использовать диспетчер пакетов.
Сначала скачайте двоичный выпуск пакета SDK или среды выполнения с одного из следующих сайтов. При установке пакета SDK для .NET не нужно устанавливать соответствующую среду выполнения:
Затем извлеките скачанный файл и используйте команду export , чтобы задать для переменной DOTNET_ROOT расположение извлеченной папки, а затем проверьте включение .NET в переменную PATH. После этого команды .NET CLI станут доступны в терминале.
Кроме того, после скачивания двоичного файла .NET можно выполнить следующие команды из каталога, в котором сохранен файл, для извлечения среды выполнения. После этого команды .NET CLI также станут доступны в терминале, и будут заданы нужные переменные среды. Обязательно измените значение DOTNET_FILE на имя скачанного двоичного файла:
Приведенные выше команды export сделают команды .NET CLI доступными только для сеанса терминала, в котором производился запуск.
Вы можете изменить профиль оболочки, чтобы добавить команды окончательно. Существует несколько различных оболочек, доступных для Linux, и каждая из них имеет свой профиль. Пример:
- Оболочка Bash:
/.bashrc
Оболочка Korn:
/.kshrc или .profile
Оболочка Z:
Измените соответствующий исходный файл оболочки и добавьте :$HOME/dotnet в конец существующего оператора PATH . Если оператор PATH не указан, добавьте новую строку с export PATH=$PATH:$HOME/dotnet .
Кроме того, добавьте export DOTNET_ROOT=$HOME/dotnet в конец файла.
Такой подход позволяет устанавливать разные версии в отдельные расположения и выбирать, какие из них следует использовать для каждого приложения.
Источник
Установка пакета SDK для .NET или среды выполнения .NET с использованием пакета Snap
Для установки пакета SDK для .NET или среды выполнения .NET можно использовать пакет Snap. Пакеты Snap — это отличная альтернатива диспетчеру пакетов, встроенному в дистрибутив Linux. В этой статье описано, как установить .NET с использованием пакета Snap.
Snap-пакет — это пакет приложения и его зависимостей, которые работают без изменений во многих разных дистрибутивах Linux. Snap-пакеты можно найти и установить с помощью Snap Store. Дополнительные сведения о Snap см. в этой статье.
Пакеты Snap не поддерживаются в WSL2 в Windows 10. В качестве альтернативы можно использовать скрипт dotnet-install или диспетчер пакетов для соответствующего дистрибутива WSL2. Такой способ не рекомендуется, но вы можете попытаться включить пакет Snap с помощью неподдерживаемого возможного решения, описываемого на форумах snapcraft.
Выпуски .NET
В пакете Snap доступны только поддерживаемые (✔️) версии пакета SDK для .NET. Все версии среды выполнения .NET доступны в пакете Snap, начиная с версии 2.1. В следующей таблице перечислены выпуски .NET (и .NET Core):
✔️ Поддерживается | ❌ Не поддерживается |
---|---|
5,0 | 3.0 |
3.1 (LTS) | 2.2 |
2.1 (LTS) | 2,0 |
1,1 | |
1.0 |
Дополнительные сведения о жизненном цикле выпусков .NET см. в разделе Политика поддержки .NET Core и .NET 5.
Пакет SDK или среда выполнения
Если вы хотите разрабатывать приложения .NET, установите пакет SDK (включает среду выполнения). Если нужно просто запустить приложения, установите среду выполнения. Если вы устанавливаете среду выполнения, мы рекомендуем установить среду выполнения ASP.NET Core, так как она включает в себя среды выполнения .NET и ASP.NET Core.
Если вы уже установили пакет SDK или среду выполнения, с помощью команд dotnet —list-sdks и dotnet —list-runtimes узнайте, какие версии установлены. Дополнительные сведения см. в статье Проверка того, установлена ли платформа .NET.
Установка пакета SDK
Пакеты Snap для пакета SDK для .NET публикуются с одним и тем же идентификатором: dotnet-sdk . Конкретную версию пакета SDK можно установить, указав канал. Пакет SDK содержит соответствующую среду выполнения. В следующей таблице перечислены каналы.
Версия .NET | Пакет Snap или канал |
---|---|
5,0 | 5.0 или latest/stable |
3.1 (LTS) | 3.1 или lts/stable |
2.1 (LTS) | 2.1 |
Выполните команду snap install , чтобы установить Snap-пакет пакета SDK для .NET. Используйте параметр —channel , чтобы указать, какую версию следует установить. Если этот параметр отсутствует, используйте latest/stable . В этом примере указан 5.0 :
Затем зарегистрируйте команду dotnet для системы, выполнив команду snap alias :
Эта команда имеет следующий формат: sudo snap alias
Установка среды выполнения
Пакеты Snap для среды выполнения .NET публикуются с собственными идентификаторами пакета. В следующей таблице перечислены идентификаторы пакетов:
Версия .NET | Snap-пакет |
---|---|
5,0 | dotnet-runtime-50 |
3.1 (LTS) | dotnet-runtime-31 |
3.0 | dotnet-runtime-30 |
2.2 | dotnet-runtime-22 |
2.1 (LTS) | dotnet-runtime-21 |
Выполните команду snap install , чтобы установить Snap-пакет среды выполнения .NET. В этом примере устанавливается .NET 5.0:
Затем зарегистрируйте команду dotnet для системы, выполнив команду snap alias :
Эта команда имеет следующий формат: sudo snap alias
Экспорт расположения установки
Переменная среды DOTNET_ROOT часто используется различными средствами для определения места установки .NET. При установке .NET с помощью snap-пакета эта переменная среды не настраивается. Вам нужно настроить переменную среды DOTNET_ROOT в своем профиле. Путь к snap-пакету использует следующий формат: /snap/
Предыдущая команда export задает переменную среды только для сеанса терминала, в котором она была запущена.
Вы можете изменить профиль оболочки, чтобы добавить команды окончательно. Существует несколько различных оболочек, доступных для Linux, и каждая из них имеет свой профиль. Пример:
- Оболочка Bash:
/.bashrc
Оболочка Korn:
/.kshrc или .profile
Оболочка Z:
Измените соответствующий исходный файл для своей оболочки и добавьте export DOTNET_ROOT=/snap/dotnet-sdk/current .
Ошибки сертификатов TLS/SSL
При установке .NET с помощью пакета Snap возможно, что на некоторых дистрибутивах нельзя найти сертификаты TLS/SSL .NET, а во время выполнения restore может отобразиться сообщение об ошибке:
Чтобы устранить эту проблему, задайте несколько переменных среды:
Расположение сертификата зависит от дистрибутива. Ниже приведены расположения для дистрибутивов, в которых возникла проблема.
Distribution | Расположение |
---|---|
Fedora | /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
OpenSUSE | /etc/ssl/ca-bundle.pem |
Solus | /etc/ssl/certs/ca-certificates.crt |
Решение проблем с dotnet
Другие приложения, такие как расширение OmniSharp для Visual Studio Code, обычно попытаются определить расположение пакета SDK для .NET. Как правило, это делается путем выяснения места расположения исполняемого файла dotnet . Установленный с помощью Snap, пакет SDK для .NET может запутать эти приложения. Если эти приложения не смогут обнаружить пакет SDK для .NET, появиться сообщение об ошибке, аналогичное одному из следующих сообщений:
- Не удалось найти указанный пакет SDK «Microsoft.NET.Sdk»
- Не удалось найти указанный пакет SDK «Microsoft.NET.Sdk.Web»
- Не удалось найти указанный пакет SDK «‘Microsoft.NET.Sdk.Razor»
Чтобы решить эту проблему, создайте символическую ссылку на исполняемый файл snap dotnet в том месте, которое ищет программа. Два общих пути, которые ищет команда dotnet , — /usr/local/bin/dotnet и /usr/share/dotnet . Например, чтобы связать текущий прикрепленный пакет SDK для .NET, используйте следующую команду:
Также можно просмотреть эти проблемы GitHub для получения сведений об этих трудностях:
Псевдоним dotnet
Если вы создали псевдоним dotnet для привязки .NET, существует вероятность, что у вас возникнет конфликт. Удалите его с помощью команды snap unalias dotnet , а затем при необходимости добавьте другой псевдоним.
Источник
Install the .NET SDK or the .NET Runtime manually
.NET is supported on Linux and this article describes how to install .NET on Linux using the install script or by extracting the binaries. For a list of distributions that support the built-in package manager, see Install .NET on Linux.
You can also install .NET with snap. For more information, see Install the .NET SDK or the .NET Runtime with Snap.
Install the SDK (which includes the runtime) if you want to develop .NET apps. Or, if you only need to run apps, install the Runtime. If you’re installing the Runtime, we suggest you install the ASP.NET Core Runtime as it includes both .NET and ASP.NET Core runtimes.
If you’ve already installed the SDK or Runtime, use the dotnet —list-sdks and dotnet —list-runtimes commands to see which versions are installed. For more information, see How to check that .NET is already installed.
.NET releases
The following table lists the .NET (and .NET Core) releases:
вњ”пёЏ Supported | вќЊ Unsupported |
---|---|
5.0 | 3.0 |
3.1 (LTS) | 2.2 |
2.1 (LTS) | 2.0 |
1.1 | |
1.0 |
For more information about the life cycle of .NET releases, see .NET Core and .NET 5 Support Policy.
Dependencies
It’s possible that when you install .NET, specific dependencies may not be installed, such as when manually installing. The following list details Linux distributions that are supported by Microsoft and have dependencies you may need to install. Check the distribution page for more information:
For generic information about the dependencies, see Self-contained Linux apps.
RPM dependencies
If your distribution wasn’t previously listed, and is RPM-based, you may need the following dependencies:
If the target runtime environment’s OpenSSL version is 1.1 or newer, you’ll need to install compat-openssl10.
DEB dependencies
If your distribution wasn’t previously listed, and is debian-based, you may need the following dependencies:
Common dependencies
For .NET apps that use the System.Drawing.Common assembly, you’ll also need the following dependency:
You can install a recent version of libgdiplus by adding the Mono repository to your system. For more information, see https://www.mono-project.com/download/stable/.
Scripted install
The dotnet-install scripts are used for automation and non-admin installs of the SDK and Runtime. You can download the script from https://dot.net/v1/dotnet-install.sh.
![IMPORTANT] Bash is required to run the script.
The script defaults to installing the latest SDK long term support (LTS) version, which is .NET Core 3.1. To install the current release, which may not be an (LTS) version, use the -c Current parameter.
To install .NET Runtime instead of the SDK, use the —runtime parameter.
You can install a specific version by altering the -c parameter to indicate the specific version. The following command installs .NET SDK 5.0.
Manual install
As an alternative to the package managers, you can download and manually install the SDK and runtime. Manual installation is commonly used as part of continuous integration testing or on an unsupported Linux distribution. For a developer or user, it’s better to use a package manager.
First, download a binary release for either the SDK or the runtime from one of the following sites. If you install the .NET SDK, you will not need to install the corresponding runtime:
Next, extract the downloaded file and use the export command to set DOTNET_ROOT to the extracted folder’s location and then ensure .NET is in PATH. This should make the .NET CLI commands available at the terminal.
Alternatively, after downloading the .NET binary, the following commands may be run from the directory where the file is saved to extract the runtime. This will also make the .NET CLI commands available at the terminal and set the required environment variables. Remember to change the DOTNET_FILE value to the name of the downloaded binary:
The preceding export commands only make the .NET CLI commands available for the terminal session in which it was run.
You can edit your shell profile to permanently add the commands. There are a number of different shells available for Linux and each has a different profile. For example:
- Bash Shell:
/.bashrc
Korn Shell:
/.kshrc or .profile
Z Shell:
Edit the appropriate source file for your shell and add :$HOME/dotnet to the end of the existing PATH statement. If no PATH statement is included, add a new line with export PATH=$PATH:$HOME/dotnet .
Also, add export DOTNET_ROOT=$HOME/dotnet to the end of the file.
This approach lets you install different versions into separate locations and choose explicitly which one to use by which application.
Источник