Средство удаления .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 можно удалить с помощью средства. В версии 1.2 и более поздних версиях можно удалять пакеты SDK и среды выполнения с версией 5.0 или более ранней, а в предыдущих версиях средства можно удалить версии 3.1 и более ранние.

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

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

Примечание

Для удаления пакетов 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 помечены в отображаемых именах.

Дополнительные сведения см. в разделе Команда list далее в этой статье.

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

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

Дополнительные сведения см. в разделеdry-run команды и whatif далее в этой статье.

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

Команда dotnet-core-uninstall remove удаляет пакеты SDK и среды выполнения .NET, указанные с использованием коллекции параметров. В версии 1.2 и более поздних версиях можно удалять пакеты SDK и среды выполнения с версией 5.0 или более ранней, а в предыдущих версиях средства можно удалить версии 3.1 и более ранние.

У средства разрушающее поведение, поэтому настоятельно рекомендуется выполнять пробный запуск перед выполнением команды удаления. В ходе пробного запуска будут показаны пакеты 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 повышение прав не требуется.

Дополнительные сведения см. в разделе Команда remove далее в этой статье.

Шаг 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

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

  • --x86

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

Примеры

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

    dotnet-core-uninstall list
    
  • Список всех 64-разрядных пакетов SDK и сред выполнения .NET:

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

    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

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

  • --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