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

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

Нужно ли удалять версию

Выбор версии .NET и совместимость среды выполнения .NET для различных обновлений обеспечивает безопасное удаление предыдущих версий. Обновления среды выполнения .NET совместимы в основной группе версий, например 7.x и 6.x. Кроме того, более поздние выпуски пакета SDK для .NET обычно позволяют создавать приложения, совместимые с предыдущими версиями среды выполнения.

Как правило, требуется только последняя версия пакета SDK и последняя версия исправлений для сред выполнения, необходимых для вашего приложения. Вы можете хранить старые пакеты SDK или версии среды выполнения, например для поддержки приложений на базе project.json. Если у приложения нет конкретных причин, по которым оно должно использовать ранние версии пакета SDK или среды выполнения, вы можете безопасно удалить старые версии.

Определите компоненты, которые нужно установить

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

Удаление .NET

.NET использует страницу параметров "Приложения Windows" и > "Установленные приложения" для удаления версий среды выполнения и пакета SDK для .NET. Используйте меню "Пуск", чтобы найти страницу "Добавить или удалить программы ", чтобы открыть страницу параметров, как показано на следующем рисунке: на рисунке показан диалоговое окно "Приложения и функции ". Вы можете выполнить поиск по запросу core или .net, чтобы отфильтровать и вывести установленные версии .NET.

Меню

На странице параметров найдите .net , чтобы найти версии, установленные на компьютере. Выберите ...>Удалите элемент, чтобы удалить его. Если вы используете Windows 10, нажмите кнопку "Удалить " для элемента, который вы хотите удалить. На следующем рисунке показана страница параметров установленных приложений в Windows 11:

Диалоговое окно

Внимание

Если элемент, который вы удаляете, указывает, что он находится из Visual Studio, используйте Установщик Visual Studio для удаления этих версий .NET.

Лучший способ удаления .NET — выполнить действие, противоположное тому, которое использовалось при установке .NET. Конкретные действия зависят от выбранного дистрибутива Linux и метода установки.

Предварительные версии устанавливаются вручную и должны быть удалены вручную. Дополнительные сведения см. в разделе "Скрипты" или "Вручную ".

Внимание

Дополнительные сведения об установке Red Hat см. в документации по Red Hat для .NET.

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

Диспетчер пакетов

Нет необходимости сначала удалять пакет SDK для .NET при его обновлении с помощью диспетчера пакетов, если только не выполняется обновление с предварительной версии, установленной вручную. Диспетчер пакетов update или команды refresh автоматически удалят старую версию после успешной установки более новой версии. Если у вас установлена предварительная версия, удалите ее.

Если вы установили .NET с помощью диспетчера пакетов, для удаления пакета SDK для .NET или среды выполнения используется тот же диспетчер пакетов. .NET поддерживает большинство популярных менеджеров пакетов. Точный синтаксис команды для вашей среды см. в документации по вашему дистрибутиву:

  • apt-get(8) используется в системах на основе Debian, включая Ubuntu.
  • yum(8) используется в Fedora, CentOS Stream, Oracle Linux и RHEL.
  • zypper(8) используется в openSUSE и SUSE Linux Enterprise System (SLES).
  • dnf(8) используется в Fedora.

Практически во всех случаях для удаления пакета используется команда remove.

Для установки пакета SDK для .NET в большинстве диспетчеров пакетов используется имя пакета dotnet-sdk, за которым следует номер версии. Необходимы только основные и дополнительные номера версий: например, пакет SDK для .NET версии 8.0.200 можно ссылаться как на пакет dotnet-sdk-8.0.

Для компьютеров, на которых установлена только среда выполнения без пакета SDK, используется имя пакета dotnet-runtime-<version> для среды выполнения .NET и aspnetcore-runtime-<version> для стека всей среды выполнения.

Скрипты или вручную

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

При установке .NET вручную он обычно устанавливается в /usr/share/dotnet//usr/lib/dotnet/каталог или $HOME/.dotnet каталог. Узел SDK, среды выполнения и .NET устанавливаются в отдельные вложенные каталоги. Эти каталоги component содержат каталог для каждой версии .NET. Удалив версии каталогов, вы удалите эту версию .NET из системы. Эти каталоги могут различаться в зависимости от дистрибутива Linux.

Существует три команды, которые можно использовать для обнаружения места установки .NET: dotnet --list-sdks для пакетов SDK, dotnet --list-runtimes для сред выполнения и dotnet --info для всего. Эти команды не перечисляют узел .NET. Чтобы определить, какие узлы установлены, проверьте /usr/share/dotnet/host/fxr/ каталог. Следующий список представляет каталоги определенной версии .NET, где $version переменная представляет версию .NET:

  • Пакет SDK:

    /usr/share/dotnet/sdk/$version/

  • Среда выполнения.

    Среда выполнения основана на конкретных средах выполнения продукта .NET, таких как Microsoft.AspNetCore.All или Microsoft.NETCore.App (среда выполнения .NET специально). Они устанавливаются в /usr/share/dotnet/shared/$product/$version каталог, где $product находится среда выполнения продукта. Например, могут отображаться следующие каталоги:

    /usr/share/dotnet/shared/Microsoft.NETCore.App/$version/
    /usr/share/dotnet/shared/Microsoft.AspNetCore.App/$version/
    /usr/share/dotnet/shared/Microsoft.AspNetCore.All/$version/
    
  • Узел .NET

    /usr/share/dotnet/host/fxr/$version/

rm -rf Используйте команду, чтобы удалить версию .NET. Например, чтобы удалить пакет SDK 6.0.406, выполните следующую команду:

sudo rm -rf /usr/share/dotnet/sdk/6.0.406

Внимание

Каталоги версий могут не совпадать с "версией", которую вы удаляете. Отдельные среды выполнения и пакеты SDK, установленные с одним выпуском .NET, могут иметь разные версии. Например, возможно, вы установили ASP.NET Core 8 Runtime, которая установила среду выполнения 8.0.2 ASP.NET Core и среду выполнения 8.0.8 .NET. У каждого из них есть другой каталог с версиями. Дополнительные сведения см. в статье Общие сведения об управлении версиями в .NET.

При установке .NET вручную он обычно устанавливается в /usr/local/share/dotnet/ каталог или $HOME/.dotnet каталог. Узел SDK, среды выполнения и .NET устанавливаются в отдельные вложенные каталоги. Эти каталоги component содержат каталог для каждой версии .NET. Удалив версии каталогов, вы удалите эту версию .NET из системы. Эти каталоги могут отличаться в зависимости от версии macOS.

Существует три команды, которые можно использовать для обнаружения места установки .NET: dotnet --list-sdks для пакетов SDK, dotnet --list-runtimes для сред выполнения и dotnet --info для всего. Эти команды не перечисляют узел .NET. Чтобы определить, какие узлы установлены, проверьте /usr/local/share/dotnet/host/fxr/ каталог. Следующий список представляет каталоги определенной версии .NET, где $version переменная представляет версию .NET:

  • Пакет SDK:

    /usr/local/share/dotnet/sdk/$version/

  • Среда выполнения.

    Среда выполнения основана на конкретных средах выполнения продукта .NET, таких как Microsoft.AspNetCore.All или Microsoft.NETCore.App (среда выполнения .NET специально). Они устанавливаются в /usr/local/share/dotnet/shared/$product/$version каталог, где $product находится среда выполнения продукта. Например, можно увидеть следующие каталоги:

    /usr/local/share/dotnet/shared/Microsoft.NETCore.App/$version/dotnet --info
    /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/$version/
    /usr/local/share/dotnet/shared/Microsoft.AspNetCore.All/$version/
    
  • Узел .NET

    /usr/local/share/dotnet/host/fxr/$version/

rm -rf Используйте команду, чтобы удалить версию .NET. Например, чтобы удалить пакет SDK 6.0.406, выполните следующую команду:

sudo rm -rf /usr/local/share/dotnet/sdk/6.0.406

Внимание

Каталоги версий могут не совпадать с "версией", которую вы удаляете. Отдельные среды выполнения и пакеты SDK, установленные с одним выпуском .NET, могут иметь разные версии. Например, возможно, вы установили ASP.NET Core 8 Runtime, которая установила среду выполнения 8.0.2 ASP.NET Core и среду выполнения 8.0.8 .NET. У каждого из них есть другой каталог с версиями. Дополнительные сведения см. в статье Общие сведения об управлении версиями в .NET.

Внимание

Если вы используете Компьютер Mac на основе Arm, например один с микросхемой M1, просмотрите пути к каталогу, описанные в статье "Установка .NET на компьютерах Mac на основе Arm".

Средство удаления .NET

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

Удаление резервного каталога NuGet

Перед пакетом SDK для .NET Core 3.0 установщики пакета SDK для .NET Core использовали каталог NuGetFallbackFolder для хранения кэша пакетов NuGet. Этот кэш использовался во время таких операций, как dotnet restore или dotnet build /t:Restore. NuGetFallbackFolder находится в папке пакета SDK, в которой установлена .NET. Например, это может быть в C:\Program Files\dotnet\sdk\NuGetFallbackFolder в Windows и по адресу /usr/local/share/dotnet/sdk/NuGetFallbackFolder в macOS.

Возможно, вы хотите удалить этот каталог, если:

  • Разработка выполняется только с использованием пакета SDK для .NET Core 3.0 или .NET 5 или более поздних версий.
  • Разработка выполняется с использованием пакета SDK для .NET Core версий до 3.0, но вы можете работать в режиме "в сети".

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

Не рекомендуется удалять каталог dotnet . Это приведет к удалению всех ранее установленных глобальных средств. Также, в Windows:

  • Работа Visual Studio 2019 версии 16.3 и более поздних версий будет нарушена. Для восстановления можно запустить Восстановление.
  • Если в диалоговом окне Программы и компоненты есть записи пакета SDK для .NET Core, они будут потеряны.