Windows에 .NET 설치

이 문서에서는 Windows에 .NET을 설치하는 방법을 알아봅니다. .NET은 런타임과 SDK로 구성됩니다. 런타임은 .NET 앱을 실행하는 데 사용되며 앱에 포함되거나 포함되지 않을 수 있습니다. SDK는 .NET 앱과 라이브러리를 만드는 데 사용됩니다. .NET 런타임은 항상 SDK와 함께 설치됩니다.

.NET의 최신 버전은 6입니다.

지원되는 릴리스

다음 표는 현재 지원되는 .NET 릴리스와 해당 릴리스가 지원되는 Windows 버전의 목록입니다. 이러한 버전은 .NET 버전이 지원 종료에 도달하거나 Windows 버전이 지원 종료에 도달할 때까지 계속 지원됩니다.

Windows 10 버전의 서비스 종료 날짜는 버전별로 분할됩니다. Home, Pro, Pro EducationPro for Workstations 버전만 다음 표에서 다룹니다. 특정 세부 정보는 Windows 수명 주기 팩트 시트를 확인하세요.

+ 기호는 최소 버전을 나타냅니다.

운영 체제 .NET Core 3.1 .NET 5 .NET 6
Windows 11 ✔️ ✔️
Windows Server 2022 ✔️ ✔️
Windows 10 버전 21H1 ✔️ ✔️
Windows 10/Windows Server, 버전 20H2 ✔️ ✔️
Windows 10/Windows Server, 버전 2004 ✔️ ✔️
Windows 10/Windows Server, 버전 1909 ✔️ ✔️
Windows 10/Windows Server, 버전 1903 ✔️ ✔️
Windows 10, 버전 1809 ✔️ ✔️
Windows 10, 버전 1803 ✔️ ✔️
Windows 10, 버전 1709 ✔️ ✔️
Windows 10, 버전 1607 ✔️ ✔️
Windows 8.1 ✔️ ✔️
Windows 7 SP1 ESU ✔️ ✔️
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012
✔️ ✔️ ✔️
Windows Server Core 2012 R2 ✔️ ✔️
Windows Server Core 2012 ✔️ ✔️
Nano Server, 버전 1809+ ✔️ ✔️
Nano Server, 버전 1803 ✔️

.NET 6이 지원되는 운영 체제, 배포, 수명 주기 정책에 대한 자세한 내용은 .NET 6이 지원되는 OS 버전을 참조하세요.

지원되지 않는 릴리스

다음 .NET 버전은 ❌로 더 이상 지원되지 않습니다. 이러한 버전의 다운로드는 여전히 게시된 상태로 유지됩니다.

  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

런타임 정보

런타임은 .NET으로 만든 앱을 실행하는 데 사용됩니다. 앱 작성자는 앱을 게시할 때 앱과 함께 런타임을 포함할 수 있습니다. 앱 작성자가 런타임을 포함하지 않는 경우, 사용자가 런타임을 설치할 수 있습니다.

Windows에 설치할 수 있는 세 가지 런타임이 있습니다.

  • ‘ASP.NET Core 런타임’
    ASP.NET Core 앱을 실행합니다. .NET 런타임을 포함합니다.

  • ‘데스크톱 런타임’
    Windows용 .NET WPF 및 Windows Forms 데스크톱 앱을 실행합니다. .NET 런타임을 포함합니다.

  • ‘.NET 런타임’
    이 런타임은 가장 간단한 런타임이며 다른 런타임을 포함하지 않습니다. .NET 앱과의 최상의 호환성을 위해 ‘ASP.NET Core 런타임’과 ‘데스크톱 런타임’을 모두 설치하는 것이 좋습니다.

SDK 정보

SDK는 .NET 앱과 라이브러리를 빌드하고 게시하는 데 사용됩니다. SDK를 설치하면 ASP.NET Core, 데스크톱 및 .NET Core의 세 가지 런타임이 모두 포함됩니다.

Arm 기반 Windows PC

다음 섹션에서는 Arm 기반 Windows PC에 .NET을 설치할 때 고려해야 할 사항에 대해 설명합니다.

지원되는 내용

다음 표에서는 Arm 기반 Windows PC에서 지원되는 .NET 버전을 설명합니다.

.NET 버전 아키텍처 SDK) 런타임 경로 충돌
6.0 Arm64
6.0 X64
5.0 Arm64
5.0 X64
3.1 Arm64 해당 없음
3.1 X64

.NET 6 SDK의 x64 및 Arm64 버전은 서로 독립적으로 존재합니다. 새 버전이 출시되면 각 설치를 업그레이드해야 합니다.

경로 차이

Arm 기반 Windows PC에서는 모든 Arm64 버전의 .NET이 일반 C:\Program Files\dotnet\ 폴더에 설치됩니다. 그러나 x64 버전의 .NET 6 SDK를 설치하면 C:\Program Files\dotnet\x64\ 폴더에 설치됩니다.

경로 충돌

이전 섹션에서 설명한 대로 x64 .NET 6 SDK는 자체 디렉터리에 설치됩니다. 이렇게 하면 Arm64 및 x64 버전의 .NET 6 SDK가 동일한 컴퓨터에 존재할 수 있습니다. 그러나 6.0 이전의 x64 SDK는 지원되지 않으며 Arm64 버전 인 C:\Program Files\dotnet\ 폴더와 동일한 위치에 설치됩니다. 지원되지 않는 x64 SDK를 설치하려는 경우 먼저 Arm64 버전을 제거해야 합니다. 반대의 경우도 마찬가지입니다. Arm64 버전을 설치하려면 지원되지 않는 x64 SDK를 제거해야 합니다.

경로 변수

.NET 6 SDK의 x64 및 Arm64 버전이 모두 설치되어 있는 경우 .NET을 시스템 경로에 추가하는 환경 변수(예: PATH 변수)를 변경해야 할 수 있습니다. 또한 DOTNET_ROOT 환경 변수를 사용하는 도구도 적절한 .NET 6 SDK 설치 폴더를 가리키도록 업데이트해야 합니다.

종속성

.NET 6이 지원되는 Windows 버전은 다음과 같습니다.

참고

+ 기호는 최소 버전을 나타냅니다.

OS 버전 아키텍처
Windows 11 21H2 x64, Arm64
Windows 10 클라이언트 1607 이상 x64, x86, Arm64
Windows 클라이언트 7 SP1+, 8.1 x64, x86
Windows Server 2012+ x64, x86
Windows Server Core 2012+ x64, x86
Nano 서버 1809 이상 X64

.NET 6이 지원되는 운영 체제, 배포, 수명 주기 정책에 대한 자세한 내용은 .NET 6이 지원되는 OS 버전을 참조하세요.

Windows 7 / Vista / 8.1 / Server 2008 R2 / Server 2012 R2

다음과 같은 Windows 버전에 .NET SDK 또는 런타임을 설치할 경우 종속성이 더 필요합니다.

운영 체제 사전 요구 사항
Windows 7 SP1 ESU - Microsoft Visual C++ 2015-2019 재배포 가능 64비트 / 32비트
- KB3063858 64비트 / 32비트
- Microsoft Root Certificate Authority 2011(.NET Core 2.1 오프라인 설치 관리자만 해당)
Windows Vista SP 2 Microsoft Visual C++ 2015-2019 재배포 가능 64비트 / 32비트
Windows 8.1 Microsoft Visual C++ 2015-2019 재배포 가능 64비트 / 32비트
Windows Server 2008 R2 Microsoft Visual C++ 2015-2019 재배포 가능 64비트 / 32비트
Windows Server 2012 Microsoft Visual C++ 2015-2019 재배포 가능 64비트 / 32비트
Windows Server 2012 R2 Microsoft Visual C++ 2015-2019 재배포 가능 64비트 / 32비트

다음 dll 중 하나와 관련된 오류를 수신하는 경우에도 이전 요구 사항이 필요합니다.

  • api-ms-win-crt-runtime-l1-1-0.dll
  • api-ms-win-cor-timezone-l1-1-0.dll
  • hostfxr.dll

PowerShell 자동화를 사용하여 설치

dotnet-install 스크립트는 CI 자동화 및 런타임의 관리자가 아닌 일반 설치를 수행하는 데 사용됩니다. 스크립트는 dotnet-install 스크립트 참조 페이지에서 다운로드할 수 있습니다.

스크립트는 기본적으로 최신 LTS(장기 지원) 버전(.NET 6)을 설치합니다. Channel 스위치를 지정하여 특정 릴리스를 선택할 수 있습니다. 런타임을 설치하려면 Runtime 스위치를 포함합니다. 포함하지 않을 경우 스크립트가 SDK를 설치합니다.

dotnet-install.ps1 -Channel 6.0 -Runtime aspnetcore

-Runtime 스위치를 생략하여 SDK를 설치합니다. 이 예에서는 -Channel 스위치를 Current로 설정하여 최신 지원 버전을 설치합니다.

dotnet-install.ps1 -Channel Current

Visual Studio를 사용하여 설치

Visual Studio를 사용하여 .NET 앱을 개발하는 경우 다음 표에서 대상 .NET SDK 버전에 따라 필요한 Visual Studio의 최소 버전을 확인하세요.

.NET SDK 버전 Visual Studio 버전
6.0 Visual Studio 2022 버전 17.0 이상
5.0 Visual Studio 2019 버전 16.8 이상
3.1 Visual Studio 2019 버전 16.4 이상
3.0 Visual Studio 2019 버전 16.3 이상
2.2 Visual Studio 2017 버전 15.9 이상
2.1 Visual Studio 2017 버전 15.7 이상

Visual Studio가 이미 설치되어 있다면 다음 단계에 따라 버전을 확인할 수 있습니다.

  1. Visual Studio를 엽니다.
  2. 도움말>Microsoft Visual Studio 정보를 선택합니다.
  3. 정보 대화 상자에서 버전 번호를 확인합니다.

Visual Studio가 최신 .NET SDK 및 런타임을 설치할 수 있습니다.

워크로드 선택

Visual Studio를 설치하거나 수정할 때는 빌드하려는 애플리케이션의 종류에 따라 다음 워크로드 중 하나 이상을 선택합니다.

  • 기타 도구 세트 섹션의 .NET Core 플랫폼 간 개발 워크로드
  • Web Cloud 섹션의 ASP.NET 및 웹& 개발 워크로드입니다.
  • 웹 & 클라우드 섹션의 Azure 개발 워크로드입니다.
  • Desktop Mobile 섹션의 .NET 데스크톱& 개발 워크로드입니다.

Windows Visual Studio 2019 with .NET Core workload

Visual Studio Code와 함께 설치

Visual Studio Code는 데스크톱에서 실행되는 강력한 경량 소스 코드 편집기입니다. Visual Studio Code는 Windows, macOS 및 Linux에서 사용할 수 있습니다.

Visual Studio Code에 Visual Studio처럼 자동화된 .NET Core 설치 프로그램이 포함되지 않은 경우, 간편하게 .NET Core 지원을 추가할 수 있습니다.

  1. Visual Studio Code를 다운로드하여 설치합니다.
  2. .NET SDK를 다운로드하여 설치합니다.
  3. Visual Studio Code Marketplace에서 C# 확장을 설치합니다.

Windows Installer

Windows Installer 실행 파일은 .NET 다운로드 페이지에서 제공합니다.

Windows Installer를 사용하여 .NET을 설치하는 경우 DOTNETHOME_X64DOTNETHOME_X86 매개 변수를 설정하여 설치 경로를 사용자 지정할 수 있습니다.

dotnet-sdk-3.1.301-win-x64.exe DOTNETHOME_X64="F:\dotnet\x64" DOTNETHOME_X86="F:\dotnet\x86"

프로덕션 환경에서처럼 .NET을 자동으로 설치하거나 연속 통합을 지원하려면 다음 스위치를 사용합니다.

  • /install
    .NET을 설치합니다.

  • /quiet
    UI와 프롬프트가 표시되지 않도록 합니다.

  • /norestart
    다시 시작하지 않습니다.

dotnet-sdk-3.1.301-win-x64.exe /install /quiet /norestart

자세한 내용은 표준 설치 관리자 명령줄 옵션을 참조하세요.

설치 관리자는 성공 시 종료 코드 0을 반환하고 다시 시작이 필요함을 나타내기 위해 종료 코드 3010을 반환합니다. 다른 모든 값은 일반적으로 오류 코드입니다.

다운로드 및 수동으로 설치

.NET용 Windows 설치 관리자 대신 SDK나 런타임을 다운로드하여 수동으로 설치할 수 있습니다. 수동 설치는 일반적으로 연속 통합 테스트의 일부로 수행됩니다. 개발자 또는 사용자의 경우 일반적으로 설치 관리자를 사용하는 것이 좋습니다.

.NET SDK와 .NET 런타임 모두 다운로드한 후 수동으로 설치할 수 있습니다. .NET SDK를 설치하면 해당 런타임을 설치할 필요가 없습니다. 먼저, 다음 사이트 중 한 곳에서 SDK 또는 런타임의 이진 릴리스를 다운로드합니다.

.NET을 추출해서 넣을 디렉터리(예: %USERPROFILE%\dotnet)를 만듭니다. 그런 다음, 다운로드한 zip 파일을 이 디렉터리로 추출합니다.

기본적으로 이런 방식으로 설치된 .NET은 .NET CLI 명령과 앱에서 사용되지 않으므로 사용하도록 명시적으로 선택해야 합니다. 이렇게 하려면 애플리케이션이 시작되는 환경 변수를 변경합니다.

set DOTNET_ROOT=%USERPROFILE%\dotnet
set PATH=%USERPROFILE%\dotnet;%PATH%
set DOTNET_MULTILEVEL_LOOKUP=0

이 방법을 사용하면 여러 버전을 별도의 위치에 설치한 다음 애플리케이션이 해당 위치를 가리키는 환경 변수를 사용하여 애플리케이션을 실행하는 데 사용해야 하는 설치 위치를 명시적으로 선택할 수 있습니다.

DOTNET_MULTILEVEL_LOOKUP0으로 설정하면 .NET에서는 전역적으로 설치된 .NET 버전을 무시합니다. .NET에서 애플리케이션을 실행하는 데 가장 적합한 프레임워크를 선택할 때 기본 전역 설치 위치를 고려하도록 하려면 이러한 환경 설정을 제거합니다. 기본값은 일반적으로 C:\Program Files\dotnet입니다. 이 경로는 설치 관리자가 .NET을 설치하는 경로입니다.

Docker

컨테이너는 호스트 시스템의 나머지 부분으로부터 애플리케이션을 격리하는 경량 방식을 제공합니다. 동일한 머신에 있는 컨테이너는 커널만 공유하고 애플리케이션에 주어진 리소스를 사용합니다.

.NET은 Docker 컨테이너에서 실행할 수 있습니다. 공식 .NET Docker 이미지는 MCR(Microsoft Container Registry)에 게시되며 Microsoft .NET Docker Hub 리포지토리에서 찾을 수 있습니다. 각 리포지토리에는 사용할 수 있는 .NET(SDK 또는 Runtime)과 OS가 다양하게 조합된 이미지가 포함되어 있습니다.

Microsoft는 특정 시나리오를 위한 맞춤형 이미지를 제공합니다. 예를 들어 ASP.NET Core 리포지토리는 프로덕션에서 ASP.NET Core 앱을 실행하기 위해 빌드된 이미지를 제공합니다.

Docker 컨테이너에서 .NET 사용에 대한 자세한 내용은 .NET 및 Docker 소개Samples(샘플)를 참조하세요.

문제 해결

.NET SDK를 설치한 후 .NET CLI 명령을 실행하는 데 문제가 발생할 수 있습니다. 이 섹션에서는 이러한 일반적인 문제를 수집하고 해결을 제공합니다.

설치된 .NET Core SDK를 찾을 수 없습니다.

.NET SDK의 x86(32비트) 및 x64(64비트) 버전을 모두 설치했을 가능성이 큽니다. 이는 명령을 실행할 dotnet 때 x64 버전으로 확인되어야 할 때 x86 버전으로 확인되기 때문에 충돌을 일으킵니다. 일반적으로 x64 버전을 먼저 확인하도록 변수를 조정하여 %PATH% 이 문제를 해결합니다.

  1. 명령을 실행하여 두 버전이 모두 설치되어 있는지 확인합니다 where.exe dotnet . 이 경우 Program Files\ 및 Program Files(x86)\ 폴더 모두에 대한 항목이 표시됩니다. 다음 예제와 같이 Program Files(x86)\ 폴더가 먼저 표시되면 올바르지 않으며 다음 단계를 계속 진행해야 합니다.

    > where.exe dotnet
    C:\Program Files (x86)\dotnet\dotnet.exe  
    C:\Program Files\dotnet\dotnet.exe
    

    올바르고 Program Files\가 먼저인 경우 이 섹션에서 설명하는 문제가 없으므로 GitHub .NET 도움말 요청 문제를 만들어야 합니다.

  2. Windows 단추를 누르고 검색에 "시스템 환경 변수 편집"을 입력합니다. 시스템 환경 변수 편집을 선택합니다.

    Windows start menu with edit environment variable

  3. 시스템 속성 창이 고급 탭까지 열립니다. 환경 변수를 선택합니다.

    The Windows system properties panel open.

  4. 환경 변수 창의 시스템 변수 그룹에서 경로* 행을 선택한 다음 편집 단추를 선택합니다.

    The environment variables window with user and system variables.

  5. 위로 이동아래로 이동 단추를 사용하여 C:\Program Files\dotnet\ 항목을 C:\Program Files (x86)\dotnet\위로 이동합니다.

    The environment variables list for the system.

다음 단계