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

Платформа .NET поддерживается в Fedora. В этой статье описано, как установить .NET в Fedora. Если поддержка какой-либо версии Fedora прекращается, то .NET также перестает поддерживать ее.

Если вы хотите разрабатывать приложения .NET, установите пакет SDK (включает среду выполнения). Если нужно просто запустить приложения, установите среду выполнения. Если вы устанавливаете среду выполнения, мы рекомендуем установить среду выполнения ASP.NET Core, так как она включает в себя среды выполнения .NET и ASP.NET Core.

dotnet --list-sdks Используйте команды, dotnet --list-runtimes чтобы узнать, какие версии установлены. Дополнительные сведения см. в статье Проверка того, установлена ли платформа .NET.

Дополнительные сведения об установке .NET без использования диспетчера пакетов см. в одной из следующих статей:

Поддерживаемые дистрибутивы

В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET и версий Fedora, в которых они поддерживаются. Эти версии поддерживаются до того же времени, что и версия .NET или Fedora.

Fedora .NET
39 8, 7, 6
38 8, 7, 6
37 8, 7, 6

Следующие версии .NET больше не поддерживаются (❌).

  • .NET 5
  • .NET Core 3.1.
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0;

Установка .NET 8

Внимание

.NET 8 выпущен 14 ноября 2023 года. Может потребоваться время, чтобы пакеты отображались в веб-каналах диспетчера пакетов.

Установка пакета SDK

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

sudo dnf install dotnet-sdk-8.0

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

Среда выполнения ASP.NET Core позволяет запускать приложения, созданные с помощью версии .NET без поддержки среды выполнения. Следующая команда устанавливает ASP.NET Core Runtime, которая является самой совместимой средой выполнения для .NET. В терминале выполните приведенную ниже команду.

sudo dnf install aspnetcore-runtime-8.0

В качестве альтернативы среде выполнения ASP.NET Core вы можете установить среду выполнения .NET без поддержки ASP.NET Core. Для этого в приведенной выше команде замените aspnetcore-runtime-8.0 на dotnet-runtime-8.0.

sudo dnf install dotnet-runtime-8.0

Установка .NET 7

Установка пакета SDK

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

sudo dnf install dotnet-sdk-7.0

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

Среда выполнения ASP.NET Core позволяет запускать приложения, созданные с помощью версии .NET без поддержки среды выполнения. Следующая команда устанавливает ASP.NET Core Runtime, которая является самой совместимой средой выполнения для .NET. В терминале выполните приведенную ниже команду.

sudo dnf install aspnetcore-runtime-7.0

В качестве альтернативы среде выполнения ASP.NET Core вы можете установить среду выполнения .NET без поддержки ASP.NET Core. Для этого в приведенной выше команде замените aspnetcore-runtime-7.0 на dotnet-runtime-7.0.

sudo dnf install dotnet-runtime-7.0

Установка .NET 6

Установка пакета SDK

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

sudo dnf install dotnet-sdk-6.0

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

Среда выполнения ASP.NET Core позволяет запускать приложения, созданные с помощью версии .NET без поддержки среды выполнения. Следующая команда устанавливает ASP.NET Core Runtime, которая является самой совместимой средой выполнения для .NET. В терминале выполните приведенную ниже команду.

sudo dnf install aspnetcore-runtime-6.0

В качестве альтернативы среде выполнения ASP.NET Core вы можете установить среду выполнения .NET без поддержки ASP.NET Core. Для этого в приведенной выше команде замените aspnetcore-runtime-6.0 на dotnet-runtime-6.0.

sudo dnf install dotnet-runtime-6.0

Установка предварительных версий

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

Удалите предварительные версии

При использовании диспетчера пакетов для управления установкой .NET вы можете столкнуться с конфликтом, если ранее вы установили предварительную версию. Диспетчер пакетов может интерпретировать выпуск, не являющийся предварительной версией, в качестве более ранней версии .NET. Чтобы установить выпуск, не относящийся к предварительной версии, сначала удалите предварительные версии. Дополнительные сведения об удалении .NET см. в разделе Удаление среды выполнения .NET и пакета SDK.

Зависимости

Если для установки используется диспетчер пакетов, эти библиотеки устанавливаются автоматически. Но если вы устанавливаете .NET вручную или публикуете автономное приложение, вам потребуется установить эти библиотеки:

  • krb5-libs
  • libicu
  • openssl-libs
  • zlib

Если целевая среда выполнения OpenSSL версии 1.1 или более поздней, необходимо установить compat-openssl10.

Зависимости можно установить с помощью yum install команды. В следующем фрагменте кода показано, как установить библиотеку libicu :

sudo yum install libicu

Дополнительные сведения о зависимостях см. в статье об автономных приложениях Linux.

Если приложение .NET использует сборку System.Drawing.Common , необходимо также установить libgdiplus. Так как System.Drawing.Common больше не поддерживается в Linux, это работает только в .NET 6 и требует установки System.Drawing.EnableUnixSupport параметра конфигурации среды выполнения.

Вы можете установить последнюю версию libgdiplus , добавив репозиторий Mono в систему.

Установка в других дистрибутивах

В репозиториях пакетов по умолчанию для более старых версий Fedora отсутствует .NET Core. Вы можете установить .NET с помощью скрипта dotnet-install.sh или использовать репозиторий Майкрософт для установки .NET:

  1. Сначала необходимо добавить ключ подписывания пакета Майкрософт в список доверенных ключей.

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  2. Далее добавьте репозиторий пакетов Майкрософт. Источник репозитория зависит от вашей версии Fedora.

    Версия Fedora Репозиторий пакетов
    36 https://packages.microsoft.com/config/fedora/36/prod.repo
    35 https://packages.microsoft.com/config/fedora/35/prod.repo
    34 https://packages.microsoft.com/config/fedora/34/prod.repo
    33 https://packages.microsoft.com/config/fedora/33/prod.repo
    32 https://packages.microsoft.com/config/fedora/32/prod.repo
    31 https://packages.microsoft.com/config/fedora/31/prod.repo
    30 https://packages.microsoft.com/config/fedora/30/prod.repo
    29 https://packages.microsoft.com/config/fedora/29/prod.repo
    28 https://packages.microsoft.com/config/fedora/28/prod.repo
    27 https://packages.microsoft.com/config/fedora/27/prod.repo
    sudo wget -O /etc/yum.repos.d/microsoft-prod.repo https://packages.microsoft.com/config/fedora/31/prod.repo
    

Установка пакета SDK

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

sudo dnf install dotnet-sdk-7.0

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

Среда выполнения ASP.NET Core позволяет запускать приложения, созданные с помощью версии .NET без поддержки среды выполнения. Следующая команда устанавливает ASP.NET Core Runtime, которая является самой совместимой средой выполнения для .NET. В терминале выполните приведенную ниже команду.

sudo dnf install aspnetcore-runtime-7.0

В качестве альтернативы среде выполнения ASP.NET Core вы можете установить среду выполнения .NET без поддержки ASP.NET Core. Для этого в приведенной выше команде замените aspnetcore-runtime-7.0 на dotnet-runtime-7.0.

sudo dnf install dotnet-runtime-7.0

Установка других версий

Все версии .NET доступны для загрузки в https://dotnet.microsoft.com/download/dotnet, но для этого требуется установка вручную. С помощью диспетчера пакетов можно установить другую версию .NET. Однако запрошенная версия может быть недоступна.

Пакеты, добавляемые в веб-каналы диспетчера пакетов, именуются в формате, уязвимом для хакерских атак, например: {product}-{type}-{version}.

  • product
    Тип устанавливаемого продукта .NET. Допустимые значения:

    • dotnet
    • aspnetcore
  • type
    Позволяет выбрать пакет SDK или среду выполнения. Допустимые значения:

    • sdk (доступно только для продукта dotnet )
    • runtime
  • version
    Версия пакета SDK или среды выполнения для установки. Допустимые параметры — любая выпущенная версия, например:

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    Возможно, пакет SDK или среда выполнения, которую вы пытаетесь скачать, недоступна для дистрибутива Linux. Список поддерживаемых дистрибутивов см. в статье Установка .NET в Linux.

Примеры

  • Установите среду выполнения ASP.NET Core 8.0: aspnetcore-runtime-8.0
  • Установка среды выполнения .NET Core 2.1: dotnet-runtime-2.1
  • Установка пакета SDK .NET 5: dotnet-sdk-5.0
  • Установка пакета SDK для .NET Core 3.1: dotnet-sdk-3.1

Примечание.

Некоторые пакеты могут быть недоступны в дистрибутиве Linux.

Пакет отсутствует

Если сочетание пакета и версии больше не поддерживается, оно недоступно. Например, нет пакета SDK для ASP.NET Core. Компоненты пакета SDK для ASP.NET Core включены в пакет SDK для .NET. Значение aspnetcore-sdk-8.0 неправильное и должно быть равно dotnet-sdk-8.0 Список дистрибутивов Linux, поддерживаемых .NET, см. в статье Зависимости и требования для .NET.

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

В этом разделе описаны распространенные ошибки, которые могут возникнуть при использовании диспетчера пакетов для установки .NET или .NET Core.

Не удалось найти пакет

Дополнительные сведения об установке .NET без использования диспетчера пакетов см. в одной из следующих статей:

Ошибка получения

При установке пакета .NET может появиться примерно такое сообщение об ошибке: signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod'. В целом эта ошибка означает, что веб-канал пакета для .NET сейчас обновляется до новой версии пакета и следует повторить попытку позже. При обновлении канал пакета недоступен не более двух часов. Если эта ошибка сохраняется более двух часов, сообщите о проблеме по адресу https://github.com/dotnet/core/issues.

Дополнительные сведения о решении этих проблем см. в статье об устранении неполадок, связанных с использованием fxr, libhostfxr.so и FrameworkList.xml.

Следующие шаги