Средство удаления .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, в том числе те, которые не удается удалить с помощью этого средства. Команда 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 помечены в отображаемых именах.

dotnet-core-uninstall 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 и среды выполнения .NET x64, которые можно удалить с помощью этого средства.

  • --x86

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

Примеры

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

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

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

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

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

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

dotnet-core-uninstall dry-run and dotnet-core-uninstall 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.

Примечания.

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

Шаг 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 повышение прав не требуется.

dotnet-core-uninstall 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.

Примечания.

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

Примеры

Примечание

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

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

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

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

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

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

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

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