Windows에 .NET 설치
이 문서에서는 Windows에 .NET을 설치하는 방법을 알아봅니다. .NET은 런타임과 SDK로 구성됩니다. 런타임은 .NET 앱을 실행하는 데 사용되며 앱에 포함되거나 포함되지 않을 수 있습니다. SDK는 .NET 앱과 라이브러리를 만드는 데 사용됩니다. .NET 런타임은 항상 SDK와 함께 설치됩니다.
.NET의 최신 버전은 7입니다.
지원되는 릴리스에는 LTS(장기 지원) 릴리스 또는 STS(표준 기간 지원)의 두 가지 유형이 있습니다. 모든 릴리스의 품질은 동일합니다. 유일한 차이점은 지원 기간입니다. LTS 릴리스는 3년 동안 무료 지원 및 패치를 받습니다. STS 릴리스는 18개월 동안 무료 지원 및 패치를 받습니다. 자세한 내용은 .NET 지원 정책을 참조하세요.
다음 표에서는 각 버전의 .NET(및 .NET Core)의 지원 상태 나열합니다.
✔️ 지원됨 | ❌ 지원 안 됨 |
---|---|
7(STS) | 5 |
6(LTS) | 3.1 |
3.0 | |
2.1 | |
2.0 | |
1.1 | |
1.0 |
Windows 패키지 관리자 설치(winget)
winget 도구를 사용하여 Windows 패키지 관리자 서비스를 통해 .NET을 설치하고 관리할 수 있습니다. winget을 설치하고 사용하는 방법에 대한 자세한 내용은 winget 도구 사용을 참조하세요.
.NET 시스템 전체를 설치하는 경우 관리 권한으로 설치합니다.
SDK 설치
.NET SDK를 사용하면 .NET으로 앱을 개발할 수 있습니다. .NET SDK를 설치하는 경우 해당 런타임을 설치할 필요가 없습니다. .NET SDK를 설치하려면 다음 명령을 실행합니다.
winget install Microsoft.DotNet.SDK.7
런타임 설치
Windows의 경우 세 가지 .NET 런타임을 설치할 수 있습니다. 모든 유형의 .NET 앱과 호환되도록 .NET 데스크톱 런타임과 ASP.NET Core 런타임을 모두 설치해야 합니다.
.NET 데스크톱 런타임
이 런타임에는 기본 .NET 런타임이 포함되며 .NET으로 빌드된 Windows Presentation Foundation(WPF) 및 Windows Forms 앱을 지원합니다. 이는 Windows와 함께 제공되는 .NET Framework 동일하지 않습니다.
winget install Microsoft.DotNet.DesktopRuntime.7
ASP.NET Core 런타임
이 런타임은 기본 .NET 런타임을 포함하고 웹 서버 앱을 실행합니다. ASP.NET Core 런타임을 사용하면 런타임을 제공하지 않는 .NET으로 만든 앱을 실행할 수 있습니다. 다음 명령을 실행하면 .NET에 대해 가장 호환성이 높은 ASP.NET Core 런타임이 설치됩니다. 터미널에서 다음 명령을 실행합니다.
winget install Microsoft.DotNet.AspNetCore.7
.NET 런타임
기본 런타임이며 콘솔 앱을 실행하는 데 필요한 구성 요소만 포함합니다. 일반적으로 다른 런타임을 설치합니다.
winget install Microsoft.DotNet.Runtime.7
와 같은 버전 번호를 단어Preview
로 6
대체하여 런타임의 미리 보기 버전을 설치할 수 있습니다. 다음 예제에서는 .NET Desktop 런타임의 미리 보기 릴리스를 설치합니다.
winget install Microsoft.DotNet.DesktopRuntime.Preview
Visual Studio Code와 함께 설치
Visual Studio Code는 데스크톱에서 실행되는 강력한 경량 소스 코드 편집기입니다. Visual Studio Code는 Windows, macOS 및 Linux에서 사용할 수 있습니다.
Visual Studio Code에 Visual Studio처럼 자동화된 .NET Core 설치 프로그램이 포함되지 않은 경우, 간편하게 .NET Core 지원을 추가할 수 있습니다.
- Visual Studio Code를 다운로드하여 설치합니다.
- .NET SDK를 다운로드하여 설치합니다.
- Visual Studio Code Marketplace에서 C# 확장을 설치합니다.
Windows Installer를 사용하여 설치
Windows Installer 실행 파일은 .NET 다운로드 페이지에서 제공합니다.
[중요] 2021년 11월부터 Windows Installer 패키지를 사용하여 .NET의 설치 경로를 변경할 수 없습니다. .NET을 다른 경로에 설치하려면 dotnet-install 스크립트를 사용합니다.
프로덕션 환경에서처럼 .NET을 자동으로 설치하거나 연속 통합을 지원하려면 다음 스위치를 사용합니다.
/install
.NET을 설치합니다./quiet
UI와 프롬프트가 표시되지 않도록 합니다./norestart
다시 시작하지 않습니다.
dotnet-sdk-7.0.100-win-x64.exe /install /quiet /norestart
자세한 내용은 표준 설치 관리자 명령줄 옵션을 참조하세요.
팁
설치 관리자는 성공 시 종료 코드 0을 반환하고 다시 시작이 필요함을 나타내기 위해 종료 코드 3010을 반환합니다. 다른 모든 값은 일반적으로 오류 코드입니다.
PowerShell 자동화를 사용하여 설치
dotnet-install 스크립트는 CI 자동화 및 런타임의 관리자가 아닌 일반 설치를 수행하는 데 사용됩니다. 스크립트는 dotnet-install 스크립트 참조 페이지에서 다운로드할 수 있습니다.
스크립트는 기본적으로 최신 LTS(장기 지원) 버전(.NET 6)을 설치합니다. Channel
스위치를 지정하여 특정 릴리스를 선택할 수 있습니다. 런타임을 설치하려면 Runtime
스위치를 포함합니다. 포함하지 않을 경우 스크립트가 SDK를 설치합니다.
다음 명령은 최대 호환성을 위해 ASP.NET Core 런타임을 설치합니다. ASP.NET Core 런타임에는 표준 .NET 런타임도 포함되어 있습니다.
dotnet-install.ps1 -Channel 7.0 -Runtime aspnetcore
-Runtime
스위치를 생략하여 SDK를 설치합니다. 스위치는 -Channel
이 예제 STS
에서 최신 표준 용어 지원 버전(.NET 7)을 설치하는 로 설정됩니다.
dotnet-install.ps1 -Channel STS
Visual Studio를 사용하여 설치
Visual Studio를 사용하여 .NET 앱을 개발하는 경우 다음 표에서 대상 .NET SDK 버전에 따라 필요한 Visual Studio의 최소 버전을 확인하세요.
.NET SDK 버전 | Visual Studio 버전 |
---|---|
7 | Visual Studio 2022 버전 17.4 이상. |
6 | Visual Studio 2022 버전 17.0 이상 |
5 | 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가 이미 설치되어 있다면 다음 단계에 따라 버전을 확인할 수 있습니다.
- Visual Studio를 엽니다.
- 도움말>Microsoft Visual Studio 정보를 선택합니다.
- 정보 대화 상자에서 버전 번호를 확인합니다.
Visual Studio가 최신 .NET SDK 및 런타임을 설치할 수 있습니다.
워크로드 선택
Visual Studio를 설치하거나 수정할 때는 빌드하려는 애플리케이션의 종류에 따라 다음 워크로드 중 하나 이상을 선택합니다.
- 기타 도구 세트 섹션의 .NET Core 플랫폼 간 개발 워크로드
- Web Cloud 섹션의 ASP.NET 및웹 & 개발 워크로드입니다.
- 웹 & 클라우드 섹션의 Azure 개발 워크로드.
- Desktop Mobile 섹션의 .NET 데스크톱& 개발 워크로드입니다.
지원되는 릴리스
다음 표는 현재 지원되는 .NET 릴리스와 해당 릴리스가 지원되는 Windows 버전의 목록입니다. 이러한 버전은 .NET 버전이 지원 종료에 도달하거나 Windows 버전이 지원 종료에 도달할 때까지 계속 지원됩니다.
Windows 10 버전의 서비스 종료 날짜는 버전별로 분할됩니다. Home, Pro, Pro Education 및 Pro for Workstations 버전만 다음 표에서 다룹니다. 특정 세부 정보는 Windows 수명 주기 팩트 시트를 확인하세요.
팁
+
기호는 최소 버전을 나타냅니다.
운영 체제 | .NET 7 | .NET 6 |
---|---|---|
Windows 11 | ✔️ | ✔️ |
Windows Server 2022 | ✔️ | ✔️ |
Windows Server, 버전 1903 이상 | ✔️ | ✔️ |
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 7 지원 운영 체제, 배포 및 수명 주기 정책에 대한 자세한 내용은 .NET 7 지원 OS 버전을 참조하세요.
지원되지 않는 릴리스
다음 .NET 버전은 ❌ 더 이상 지원되지 않습니다.
- .NET 5
- .NET Core 3.1
- .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) | 런타임 | 경로 충돌 |
---|---|---|---|---|
7 | Arm64 | 예 | 예 | 예 |
7 | X64 | 예 | 예 | 예 |
6 | Arm64 | 예 | 예 | 예 |
6 | X64 | 예 | 예 | 예 |
5 | Arm64 | 예 | 예 | 예 |
5 | X64 | 예 | 예 | 예 |
.NET 6부터 .NET SDK의 x64 및 Arm64 버전은 서로 독립적으로 존재합니다. 새 버전이 릴리스되면 각 아키텍처 설치를 업그레이드해야 합니다.
경로 차이
Arm 기반 Windows PC에서는 모든 Arm64 버전의 .NET이 일반 C:\Program Files\dotnet\ 폴더에 설치됩니다. 그러나 x64 버전의 .NET 6 SDK 또는 .NET 7 SDK를 설치하면 C:\Program Files\dotnet\x64\ 폴더에 설치됩니다.
경로 충돌
이전 섹션에서 설명한 대로 .NET 6부터 x64 .NET SDK는 자체 디렉터리에 설치됩니다. 이렇게 하면 Arm64 및 x64 버전의 .NET SDK가 동일한 컴퓨터에 존재할 수 있습니다. 그러나 6 이전의 x64 SDK는 지원되지 않으며 Arm64 버전 C:\Program Files\dotnet\ 폴더와 동일한 위치에 설치됩니다. 지원되지 않는 x64 SDK를 설치하려는 경우 먼저 Arm64 버전을 제거해야 합니다. 반대의 경우도 마찬가지입니다. Arm64 버전을 설치하려면 지원되지 않는 x64 SDK를 제거해야 합니다.
경로 변수
.NET SDK의 x64 및 Arm64 버전이 모두 설치된 경우 변수와 같은 PATH
시스템 경로에 .NET을 추가하는 환경 변수를 변경해야 할 수 있습니다. 또한 일부 도구는 환경 변수를 DOTNET_ROOT
사용하며 적절한 .NET SDK 설치 폴더를 가리키도록 업데이트해야 합니다.
종속성
다음 Windows 버전은 .NET 7에서 지원됩니다.
참고
+
기호는 최소 버전을 나타냅니다.
OS | 버전 | 아키텍처 |
---|---|---|
Windows 11 | 21H2 이상 | x64, Arm64 |
Windows 10 클라이언트 | 1607 이상 | x64, x86, Arm64 |
Windows Server | 2012+ | x64, x86 |
Windows Server Core | 2012+ | x64, x86 |
Nano 서버 | 1809 이상 | X64 |
.NET 7 지원 운영 체제, 배포 및 수명 주기 정책에 대한 자세한 내용은 .NET 7 지원 OS 버전을 참조하세요.
Windows 7 / 8.1 / Server 2012
다음과 같은 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 8.1 | 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
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를 찾을 수 없습니다.
x86(32비트) 및 x64(64비트) 버전의 .NET SDK를 모두 설치했을 가능성이 큽니다. 이는 명령을 실행할 dotnet
때 x64 버전으로 resolve 때 x86 버전으로 확인되기 때문에 충돌을 일으킵니다. 일반적으로 x64 버전을 먼저 resolve 변수를 조정하여 %PATH%
수정됩니다.
명령을 실행하여 두 버전이 모두 설치되어 있는지 확인합니다
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 도움말 요청 문제를 만들어야 합니다.
Windows 단추를 누르고 검색에 "시스템 환경 변수 편집"을 입력합니다. 시스템 환경 변수 편집을 선택합니다.
시스템 속성 창이 고급 탭까지 열립니다. 환경 변수를 선택합니다.
환경 변수 창의 시스템 변수 그룹에서 경로* 행을 선택한 다음 편집 단추를 선택합니다.
위로 이동 및 아래로 이동 단추를 사용하여 C:\Program Files\dotnet\ 항목을 C:\Program Files (x86)\dotnet\위로 이동합니다.