.NET 제거 도구

.NET 제거 도구(dotnet-core-uninstall)를 사용하면 시스템에서 .NET SDK 및 런타임을 제거할 수 있습니다. 제거하고자 하는 버전을 지정할 수 있는 옵션 컬렉션이 제공됩니다.

도구는 Windows 및 macOS를 지원합니다. Linux는 현재 지원되지 않습니다.

Windows에서 도구는 다음 설치 관리자 중 하나를 사용하여 설치된 SDK 및 런타임만 제거할 수 있습니다.

  • .NET SDK 및 런타임 설치 관리자.
  • Visual Studio 2019 버전 16.3 이전 버전의 Visual studio 설치 관리자.

macOS에서 도구는 /usr/local/share/dotnet 폴더에 있는 SDK 및 런타임만 제거할 수 있습니다.

이러한 제한 사항으로 인해 도구가 머신에서 일부 .NET SDK 및 런타임을 제거하지 못할 수 있습니다. dotnet --info 명령을 사용하여 이 도구에서 제거할 수 없는 SDK 및 런타임을 포함하여 설치된 모든 .NET SDK 및 런타임을 찾을 수 있습니다. dotnet-core-uninstall list 명령을 사용하면 도구를 사용하여 제거할 수 있는 SDK가 표시됩니다.

참고 항목

현재 .NET 제거 도구는 .NET 8+를 지원하지 않습니다. 도구 의 릴리스 일정에 대한 자세한 내용은 GitHub - dotnet-uninstall-tool 로드맵을 참조하세요.

도구 설치

.NET 제거 도구는 도구의 릴리스 페이지에서 다운로드할 수 있으며 소스 코드는 dotnet/cli-lab GitHub 리포지토리에서 찾을 수 있습니다.

참고 항목

이 도구에서 .NET SDK 및 런타임을 제거하려면 권한 상승이 필요합니다. 따라서 Windows의 경우 C:\Program Files, 또는 macOS의 경우 /usr/local/bin과 같이 쓰기 보호된 디렉터리에 설치해야 합니다. 자세한 내용은 dotnet 명령에 대한 높은 액세스 권한자세한 설치 지침을 참조하세요.

도구 실행

다음 단계는 제거 도구 실행을 위한 권장 접근 방식을 보여줍니다.

1단계 - 설치된 .NET SDK 및 런타임 표시

dotnet-core-uninstall list 명령은 이 도구를 사용하여 제거할 수 있는 설치된 .NET SDK 및 런타임을 나열합니다. 일부 SDK 및 런타임은 Visual Studio에 필요할 수 있으며, 제거를 권장하지 않는 이유를 포함하여 표시됩니다.

참고 항목

대부분의 경우 dotnet-core-uninstall list 명령의 출력은 dotnet --info 출력의 설치된 버전 목록과 일치하지 않습니다. 특히 이 도구는 Zip 파일로 설치되었거나 Visual Studio에서 관리되는 버전(Visual Studio 2019 버전 16.3 이상과 함께 설치된 모든 버전)을 표시하지 않습니다. Visual Studio에서 버전을 관리하는지 확인하는 한 가지 방법은 Visual Studio 관리되는 버전이 표시 이름에 표시되는 Add or Remove Programs에서 확인하는 것입니다.

자세한 내용은 이 문서 뒷부분에 나오는 list 명령을 참조하세요.

2단계- 시험 실행 실시

dotnet-core-uninstall dry-rundotnet-core-uninstall whatif 명령은 제거를 수행하지 않고 제공된 옵션에 따라 제거할 .NET SDK 및 런타임을 표시합니다. 이 명령은 동의어입니다.

자세한 내용은 이 문서 뒷부분에 나오는 dry-runwhatif 명령을 참조하세요.

3단계 - .NET SDK 및 런타임 제거

dotnet-core-uninstall remove는 옵션 컬렉션에서 지정한 .NET SDK 및 런타임을 제거합니다.

이 도구는 파괴적인 동작을 포함하므로 제거 명령을 실행하기 전에 시험 실행을 실시하는 것을 적극 권장합니다. 시험 실행에서는 remove 명령을 사용하는 경우 제거되는 .NET SDK 및 런타임을 보여 줍니다. 어떤 SDK 및 런타임을 안전하게 제거할 수 있는지 알아보려면 버전을 제거해야 하나요?를 참조하세요.

주의

다음 사항을 주의하세요.

  • 이 도구는 머신의 global.json 파일에 필요한 .NET SDK 버전을 제거할 수 있습니다. .NET SDK는 .NET 다운로드 페이지에서 다시 설치할 수 있습니다.
  • 이 도구는 머신의 프레임워크 종속 애플리케이션에 필요한 .NET 런타임 버전을 제거할 수 있습니다. .NET 런타임은 .NET 다운로드 페이지에서 다시 설치할 수 있습니다.
  • 이 도구는 Visual Studio에서 사용하는 .NET SDK 및 런타임 버전을 제거할 수 있습니다. Visual Studio 설치를 중단하는 경우 Visual Studio 설치 관리자에서 "복구"를 실행하여 작업 상태로 돌아갑니다.

기본적으로 모든 명령은 Visual Studio 또는 기타 SDK에서 필요할 수 있는 .NET SDK 및 런타임을 유지합니다. 이러한 SDK 및 런타임은 명시적으로 인수로 나열하거나 --force 옵션을 사용하여 제거할 수 있습니다.

이 도구에서 .NET SDK 및 런타임을 제거하려면 권한 상승이 필요합니다. Windows의 관리자 명령 프롬프트에서 및 macOS의 sudo를 사용하여 도구를 실행합니다. dry-runwhatif 명령에는 권한 상승이 필요하지 않습니다.

자세한 내용은 이 문서 뒷부분에 나오는 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

    이 도구로 제거할 수 있는 모든 .NET SDK를 나열합니다.

  • -v, --verbosity <LEVEL>

    자세한 표시 수준을 설정합니다. 허용되는 값은 q[uiet], m[inimal], n[ormal], d[etailed], diag[nostic]입니다. 기본값은 normal입니다.

  • --x64

    이 도구를 사용하여 제거할 수 있는 모든 x64 .NET SDK 및 런타임을 나열합니다.

  • --x86

    이 도구를 사용하여 제거할 수 있는 모든 x86 .NET SDK 및 런타임을 나열합니다.

예제

  • 이 도구를 사용하여 제거할 수 있는 모든 .NET SDK 및 런타임을 나열합니다.

    dotnet-core-uninstall list
    
  • 모든 x64 .NET SDK 및 런타임을 나열합니다.

    dotnet-core-uninstall list --x64
    
  • 모든 x86 .NET SDK를 나열합니다.

    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

    모든 .NET SDK 및 런타임을 제거합니다.

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

    지정된 버전보다 이전 버전의 .NET SDK 및 런타임만을 제거합니다. 지정된 버전은 설치된 상태로 유지됩니다.

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

    지정된 버전을 제외하고 모든 .NET SDK 및 런타임을 제거합니다.

  • --all-but-latest

    가장 높은 버전을 제외하고 .NET SDK 및 런타임을 제거합니다.

  • --all-lower-patches

    상위 패치로 대체된 .NET SDK 및 런타임을 제거합니다. 이 옵션은 global.json 파일을 보호합니다.

  • --all-previews

    미리 보기로 표시된 .NET SDK 및 런타임을 제거합니다.

  • --all-previews-but-latest

    가장 높은 미리 보기를 제외하고 미리 보기로 표시된 .NET SDK 및 런타임을 제거합니다.

  • --aspnet-runtime

    ASP.NET 런타임만 제거합니다.

  • --hosting-bundle

    .NET 런타임 및 호스팅 번들만 제거합니다.

  • --major-minor <MAJOR_MINOR>

    지정된 major.minor 버전과 일치하는 .NET SDK 및 런타임을 제거합니다.

  • --runtime

    .NET 런타임만 제거합니다.

  • --sdk

    .NET SDK만 제거합니다.

  • -v, --verbosity <LEVEL>

    자세한 표시 수준을 설정합니다. 허용되는 값은 q[uiet], m[inimal], n[ormal], d[etailed], diag[nostic]입니다. 기본값은 normal입니다.

  • --x64

    --sdk, --runtime--aspnet-runtime을 사용하여 x64 SDK 또는 런타임을 제거해야 합니다.

  • --x86

    --sdk, --runtime--aspnet-runtime을 사용하여 x86 SDK 또는 런타임을 제거해야 합니다.

  • --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이 지정되지 않은 경우 x64와 x86 모두 제거됩니다.

예제

참고 항목

기본적으로 Visual Studio 또는 기타 SDK에 필요할 수 있는 .NET SDK 및 런타임은 dotnet-core-uninstall dry-run 출력에 포함되지 않습니다. 다음 예에서는 컴퓨터 상태에 따라 지정된 SDK 및 런타임 중 일부가 출력에 포함되지 않을 수 있습니다. 모든 SDK 및 런타임을 포함하려면 이를 명시적으로 인수로 나열하거나 --force 옵션을 사용합니다.

  • 상위 패치로 대체된 모든 .NET 런타임 제거를 시험 실행:

    dotnet-core-uninstall dry-run --all-lower-patches --runtime
    
  • 버전 2.2.301 미만의 모든 .NET SDK를 제거하는 시험 실행:

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

remove 명령

개요

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

인수

VERSION

제거할 지정된 버전입니다. 공백으로 구분하여 여러 버전을 차례로 나열할 수 있습니다. 지시 파일도 지원됩니다.

지시 파일은 명령줄에 모든 버전을 배치하는 대신 사용할 수 있습니다. 지시 파일은 *.rsp 확장명을 사용하는 텍스트 파일이며, 각 버전은 별도의 줄에 나열됩니다. VERSION 인수에 대한 지시 파일을 지정하려면 지시 파일 이름 바로 뒤에 @ 문자를 사용합니다.

옵션

  • --all

    모든 .NET SDK 및 런타임을 제거합니다.

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

    지정된 버전보다 이전 버전의 .NET SDK 및 런타임만을 제거합니다. 지정된 버전은 설치된 상태로 유지됩니다.

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

    지정된 버전을 제외하고 모든 .NET SDK 및 런타임을 제거합니다.

  • --all-but-latest

    가장 높은 버전을 제외하고 .NET SDK 및 런타임을 제거합니다.

  • --all-lower-patches

    상위 패치로 대체된 .NET SDK 및 런타임을 제거합니다. 이 옵션은 global.json 파일을 보호합니다.

  • --all-previews

    미리 보기로 표시된 .NET SDK 및 런타임을 제거합니다.

  • --all-previews-but-latest

    가장 높은 미리 보기를 제외하고 미리 보기로 표시된 .NET SDK 및 런타임을 제거합니다.

  • --aspnet-runtime

    ASP.NET 런타임만 제거합니다.

  • --hosting-bundle

    .NET 호스팅 번들만 제거합니다.

  • --major-minor <MAJOR_MINOR>

    지정된 major.minor 버전과 일치하는 .NET SDK 및 런타임을 제거합니다.

  • --runtime

    .NET 런타임만 제거합니다.

  • --sdk

    .NET SDK만 제거합니다.

  • -v, --verbosity <LEVEL>

    자세한 표시 수준을 설정합니다. 허용되는 값은 q[uiet], m[inimal], n[ormal], d[etailed], diag[nostic]입니다. 기본값은 normal입니다.

  • --x64

    --sdk, --runtime--aspnet-runtime을 사용하여 x64 SDK 또는 런타임을 제거해야 합니다.

  • --x86

    --sdk, --runtime--aspnet-runtime을 사용하여 x86 SDK 또는 런타임을 제거해야 합니다.

  • -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이 지정되지 않은 경우 x64와 x86 모두 제거됩니다.

예제

참고 항목

기본적으로 Visual Studio 또는 기타 SDK에서 필요할 수 있는 .NET SDK 및 런타임은 유지됩니다. 다음 예에서는 컴퓨터 상태에 따라 지정된 SDK 및 런타임 중 일부가 남아 있을 수 있습니다. 모든 SDK 및 런타임을 제거하려면 이를 명시적으로 인수로 나열하거나 --force 옵션을 사용합니다.

  • 예 또는 아니요 확인 없이 3.0.0-preview6-27804-01 버전을 제외한 모든 .NET 런타임을 제거합니다.

    dotnet-core-uninstall remove --all-but 3.0.0-preview6-27804-01 --runtime --yes
    
  • 예 또는 아니요 확인 없이 모든 .NET Core 1.1 SDK를 제거합니다.

    dotnet-core-uninstall remove --sdk --major-minor 1.1 -y
    
  • 콘솔 출력이 없는 .NET Core 1.1.11 SDK 제거:

    dotnet-core-uninstall remove 1.1.11 --sdk --yes --verbosity q
    
  • 이 도구로 안전하게 제거할 수 있는 모든 .NET SDK를 제거합니다.

    dotnet-core-uninstall remove --all --sdk
    
  • Visual Studio에 필요할 수 있는 SDK를 포함하여 이 도구로 제거할 수 있는 모든 .NET SDK를 제거합니다(권장하지 않음).

    dotnet-core-uninstall remove --all --sdk --force
    
  • versions.rsp 응답 파일에 지정된 모든 .NET SDK를 제거합니다.

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

    versions.rsp 파일의 콘텐츠는 다음과 같습니다.

    2.2.300
    2.1.700