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


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

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

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

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

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

Определите, что установлено

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

Удалить .NET

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