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

Средство удаления .NET (dotnet-core-uninstall) позволяет удалять пакеты SDK и среды выполнения .NET из системы. Указать версии, которые нужно удалить, можно с помощью ряда параметров.

Это средство поддерживают ОС Windows и macOS. Linux в настоящее время не поддерживается.

В Windows средство может удалять только пакеты SDK и среды выполнения, установленные с помощью одного из следующих установщиков:

  • установщик сред выполнения и пакетов SDK для .NET;
  • установщик Visual Studio более ранних версий, чем Visual Studio 2019 версии 16.3.

В macOS средство может удалять только пакеты SDK и среды выполнения, расположенные в папке /usr/local/share/dotnet.

Из-за этих ограничений средство может не удалять все пакеты SDK и среды выполнения .NET на компьютере. С помощью dotnet --info команды можно найти все установленные пакеты SDK и среды выполнения .NET, включая эти пакеты SDK и среды выполнения, которые средство не может удалить. Команда dotnet-core-uninstall list позволяет просмотреть, какие пакеты SDK можно удалить с помощью средства.

Примечание.

В настоящее время средство удаления .NET не поддерживает .NET 8+. Дополнительные сведения о расписании выпуска средства см. в разделе GitHub — dotnet-uninstall-tool Roadmap.

Установка средства

Вы можете скачать средство удаления .NET на странице выпусков средства и найти исходный код в репозитории dotnet/cli-lab GitHub.

Примечание.

Для удаления пакетов SDK и сред выполнения .NET средству требуются повышенные права. Следовательно, его нужно устанавливать в защищенном от записи каталоге, например C:\Program Files в ОС Windows или /usr/local/bin в macOS. Дополнительные сведения см. в разделе "Повышенный доступ" для команд dotnet и подробных инструкций по установке.

Запустите инструмент

Шаги ниже демонстрируют рекомендуемый подход к работе со средством удаления.

Шаг 1. Отображение установленных пакетов SDK и сред выполнения .NET

Команда dotnet-core-uninstall list перечисляет установленные пакеты SDK и среды выполнения .NET, которые можно удалить с помощью этого средства. Некоторые пакеты SDK и среды выполнения могут потребоваться Visual Studio, и они отображаются с примечанием о том, почему их удалить не рекомендуется.

Примечание.

Выходные данные dotnet-core-uninstall list команды не соответствуют списку установленных версий в выходных данных dotnet --info в большинстве случаев. В частности, это средство не будет отображать версии, установленные zip-файлами или управляемыми Visual Studio (любая версия, установленная с Visual Studio 2019 версии 16.3 или более поздней). Один из способов проверить, находится ли версия под управлением Visual Studio, — просмотреть ее в Add or Remove Programs, в которой управляемые версии Visual Studio помечены в отображаемых именах.

Дополнительные сведения см . в команде списка далее в этой статье.

Шаг 2. Пробный запуск

Команды dotnet-core-uninstall dry-run и dotnet-core-uninstall whatif позволяют просмотреть пакеты SDK и среды выполнения .NET, которые будут удалены, на основе указанных параметров без выполнения удаления. Эти синонимичные команды.

Дополнительные сведения см dry-runwhatif. далее в этой статье.

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

Команда dotnet-core-uninstall remove удаляет пакеты SDK и среды выполнения .NET, указанные с использованием коллекции параметров.

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

Внимание

Учитывайте следующие моменты.

  • Это средство может удалять версии пакета SDK для .NET, необходимые для файлов global.json на компьютере. Эти пакеты можно повторно установить, предварительно скачав их на этой странице.
  • Средство может удалять версии среды выполнения .NET, необходимые для зависимых от платформы приложений на компьютере. Вы можете переустановить среду выполнения .NET, предварительно скачав ее с этой страницы.
  • Это средство может удалять версии пакета SDK и среды выполнения .NET, от которых зависит работа Visual Studio. Если нарушите работу установленной версии Visual Studio, выполните команду "Исправить" в установщике Visual Studio, чтобы восстановить рабочее состояние.

По умолчанию все команды поддерживают пакеты SDK и среды выполнения .NET, которые могут потребоваться для работы Visual Studio или других пакетов SDK. Эти пакеты и среды выполнения можно удалить путем их явного перечисления в виде аргументов или с использованием параметра --force.

Для удаления пакетов SDK и сред выполнения .NET средству требуются повышенные права. Запустите средство в командной строке администратора в ОС Windows или с помощью команды sudo в macOS. Для команд dry-run и whatif повышение прав не требуется.

Дополнительные сведения см . в статье об удалении команды далее в этой статье.

Шаг 4. Удаление резервной папки NuGet (необязательный)

В некоторых случаях папка NuGetFallbackFolder может больше не требоваться, и ее понадобится удалить. Дополнительные сведения см. в разделе "Удалить NuGetFallbackFolder".

Удаление средства

  1. Откройте окно Установка и удаление программ.
  2. Найдите Microsoft .NET SDK Uninstall Tool.
  3. Выберите Удалить.

Команда list

Краткие сведения

dotnet-core-uninstall list [options]

Параметры

  • --aspnet-runtime

    Перечисляет все ASP.NET среды выполнения, которые можно удалить с помощью этого средства.

  • --hosting-bundle

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

  • --runtime

    Выводит список всех сред выполнения .NET, которые можно удалить с помощью этого средства.

  • --sdk

    Выводит список всех пакетов SDK для .NET, которые можно удалить с помощью этого средства.

  • -v, --verbosity <LEVEL>

    Устанавливает уровень детализации. Допустимые значения: q[uiet], m[inimal], n[ormal], d[etailed] и diag[nostic]. Значение по умолчанию — normal.

  • --x64

    Выводит список всех пакетов SDK x64 .NET и сред выполнения, которые можно удалить с помощью этого средства.

  • --x86

    Выводит список всех пакетов SDK x86 .NET и сред выполнения, которые можно удалить с помощью этого средства.

Примеры

  • Перечислите все пакеты SDK и среды выполнения .NET, которые можно удалить с помощью этого средства:

    dotnet-core-uninstall list
    
  • Перечислить все пакеты SDK и среды выполнения .NET x64:

    dotnet-core-uninstall list --x64
    
  • Список всех пакетов SDK x86 .NET:

    dotnet-core-uninstall list --sdk --x86
    

Команды dry-run и whatif

Краткие сведения

dotnet-core-uninstall dry-run [options] [<VERSION>...]

dotnet-core-uninstall whatif [options] [<VERSION>...]

Аргументы

VERSION

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

Совет

Файлы ответов можно использовать вместо того, чтобы указывать все версии в командной строке. Они являются текстовыми файлами, обычно с расширением *.rsp , и каждая версия указана в отдельной строке. Чтобы указать файл ответа для аргумента VERSION , используйте символ @, за которым следует имя файла ответа.

Параметры

  • --all

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

  • --all-below <VERSION>[ <VERSION>...]

    Удаляет только пакеты SDK и среды .NET, версия которых вышла раньше, чем указанная. Указанная версия не удаляется.

  • --all-but <VERSIONS>[ <VERSION>...]

    Удаляет все пакеты SDK и среды выполнения .NET, кроме указанных версий.

  • --all-but-latest

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

  • --all-lower-patches

    Удаляет пакеты SDK и среды выполнения .NET, замененные более высокими исправлениями. Этот параметр защищает файл global.json .

  • --all-previews

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

  • --all-previews-but-latest

    Удаляет пакеты SDK и среды выполнения .NET, помеченные как предварительные версии, за исключением самой высокой предварительной версии.

  • --aspnet-runtime

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

  • --hosting-bundle

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

  • --major-minor <MAJOR_MINOR>

    Удаляет пакеты SDK и среды выполнения .NET, соответствующие указанной major.minor версии.

  • --runtime

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

  • --sdk

    Удаляет только пакеты SDK для .NET.

  • -v, --verbosity <LEVEL>

    Устанавливает уровень детализации. Допустимые значения: q[uiet], m[inimal], n[ormal], d[etailed] и diag[nostic]. Значение по умолчанию — normal.

  • --x64

    Необходимо использовать с --sdk, --runtime и --aspnet-runtime для удаления пакетов SDK или сред выполнения x64.

  • --x86

    Необходимо использовать с --sdk, --runtime и --aspnet-runtime для удаления пакетов SDK или сред выполнения x86.

  • --force

    Принудительное удаление версий, которые могут использоваться Visual Studio.

Примечание.

  • Требуется только один из параметров --sdk, --runtime, --aspnet-runtime или --hosting-bundle.
  • Параметры --all, --all-below, --all-but, --all-but-latest, --all-lower-patches, --all-previews, --all-previews-but-latest, --major-minor и [<VERSION>...] служат для исключения.
  • Если --x64 или --x86 не указаны, будут удалены обе версии.

Примеры

Примечание.

По умолчанию пакеты SDK и среды выполнения .NET, которые могут потребоваться Visual Studio или другими пакетами SDK, не включаются в выходные dotnet-core-uninstall dry-run данные. В следующих примерах в зависимости от состояния компьютера некоторые указанные пакеты SDK и среды выполнения могут не включаться в выходные данные. Чтобы включить все пакеты SDK и среды выполнения, выведите их явным образом в качестве аргументов или используйте --force этот параметр.

  • Сухой запуск удаления всех сред выполнения .NET, которые были заменены более высокими исправлениями:

    dotnet-core-uninstall dry-run --all-lower-patches --runtime
    
  • Сухой запуск удаления всех пакетов SDK для .NET под версией 2.2.301:

    dotnet-core-uninstall whatif --all-below 2.2.301 --sdk
    

Команда remove

Краткие сведения

dotnet-core-uninstall remove [options] [<VERSION>...]

Аргументы

VERSION

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

Совет

Файлы ответов можно использовать вместо того, чтобы указывать все версии в командной строке. Они являются текстовыми файлами, обычно с расширением *.rsp , и каждая версия указана в отдельной строке. Чтобы указать файл ответа для аргумента VERSION , используйте символ @, за которым следует имя файла ответа.

Параметры

  • --all

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

  • --all-below <VERSION>[ <VERSION>...]

    Удаляет только пакеты SDK и среды .NET, версия которых вышла раньше, чем указанная. Указанная версия не удаляется.

  • --all-but <VERSIONS>[ <VERSION>...]

    Удаляет все пакеты SDK и среды выполнения .NET, кроме указанных версий.

  • --all-but-latest

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

  • --all-lower-patches

    Удаляет пакеты SDK и среды выполнения .NET, замененные более высокими исправлениями. Этот параметр защищает файл global.json .

  • --all-previews

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

  • --all-previews-but-latest

    Удаляет пакеты SDK и среды выполнения .NET, помеченные как предварительные версии, за исключением самой высокой предварительной версии.

  • --aspnet-runtime

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

  • --hosting-bundle

    Удаляет только пакеты размещения .NET.

  • --major-minor <MAJOR_MINOR>

    Удаляет пакеты SDK и среды выполнения .NET, соответствующие указанной major.minor версии.

  • --runtime

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

  • --sdk

    Удаляет только пакеты SDK для .NET.

  • -v, --verbosity <LEVEL>

    Устанавливает уровень детализации. Допустимые значения: q[uiet], m[inimal], n[ormal], d[etailed] и diag[nostic]. Значение по умолчанию — normal.

  • --x64

    Необходимо использовать с --sdk, --runtime и --aspnet-runtime для удаления пакетов SDK или сред выполнения x64.

  • --x86

    Необходимо использовать с --sdk, --runtime и --aspnet-runtime для удаления пакетов SDK или сред выполнения x86.

  • -y, --yes

    Выполняет команду, не требуя подтверждения да или нет.

  • --force

    Принудительное удаление версий, которые могут использоваться Visual Studio.

Примечание.

  • Требуется только один из параметров --sdk, --runtime, --aspnet-runtime или --hosting-bundle.
  • Параметры --all, --all-below, --all-but, --all-but-latest, --all-lower-patches, --all-previews, --all-previews-but-latest, --major-minor и [<VERSION>...] служат для исключения.
  • Если --x64 или --x86 не указаны, будут удалены обе версии.

Примеры

Примечание.

По умолчанию пакеты SDK и среды выполнения .NET, которые могут потребоваться Visual Studio или другими пакетами SDK, хранятся. В следующих примерах в зависимости от состояния компьютера некоторые указанные пакеты SDK и среды выполнения могут остаться. Чтобы удалить все пакеты SDK и среды выполнения, выведите их явным образом в качестве аргументов или используйте --force этот параметр.

  • Удалите все среды выполнения .NET, кроме версии 3.0.0-preview6-27804-01 , не требуя подтверждения да или нет:

    dotnet-core-uninstall remove --all-but 3.0.0-preview6-27804-01 --runtime --yes
    
  • Удалите все пакеты SDK для .NET Core 1.1, не требуя да или нет подтверждения:

    dotnet-core-uninstall remove --sdk --major-minor 1.1 -y
    
  • Удаление пакета SDK для .NET Core 1.1.11 без вывода на консоль:

    dotnet-core-uninstall remove 1.1.11 --sdk --yes --verbosity q
    
  • Удалите все пакеты SDK для .NET, которые можно безопасно удалить с помощью этого средства:

    dotnet-core-uninstall remove --all --sdk
    
  • Удалите все пакеты SDK для .NET, которые можно удалить с помощью этого средства, включая эти пакеты SDK, которые могут потребоваться Visual Studio (не рекомендуется):

    dotnet-core-uninstall remove --all --sdk --force
    
  • Удалите все пакеты SDK для .NET, указанные в файле ответа versions.rsp :

    dotnet-core-uninstall remove --sdk @versions.rsp
    

    Содержимое файла versions.rsp выглядит следующим образом:

    2.2.300
    2.1.700