Windows에 .NET 설치
이 문서에서는 Windows에서 지원되는 .NET 버전, .NET을 설치하는 방법 및 SDK와 런타임 간의 차이점에 대해 설명합니다.
.NET Framework와 달리 .NET은 Windows 버전에 연결되지 않습니다. Windows에는 단일 버전의 .NET Framework만 설치할 수 있습니다. 그러나 .NET은 독립 실행형이며 컴퓨터의 어느 위치에나 설치할 수 있습니다. 일부 앱에는 .NET의 자체 복사본이 포함될 수 있습니다.
설치 방법에서 다른 디렉터리를 선택하지 않는 한 기본적으로 .NET은 컴퓨터의 Program Files\dotnet 디렉터리에 설치됩니다.
.NET은 런타임과 SDK로 구성됩니다. 런타임은 .NET 앱을 실행하고 SDK는 앱을 만드는 데 사용됩니다.
올바른 런타임 선택
Windows에는 다양한 형식의 앱을 실행할 수 있는 세 가지 런타임이 있습니다. SDK에는 세 개의 런타임이 모두 포함되며 런타임에 대한 설치 관리자에는 추가 런타임이 포함될 수 있습니다. 다음 표에서는 특정 .NET 설치 프로그램에 포함된 런타임을 설명합니다.
설치 관리자 | .NET 런타임 포함 | .NET 데스크톱 런타임 포함 | ASP.NET Core 런타임 포함 |
---|---|---|---|
.NET 런타임 | 예 | 아니요 | 아니요 |
.NET 데스크톱 런타임 | 예 | 예 | 아니요 |
ASP.NET Core 런타임 | 아니요 | 아니요 | 예 |
.NET SDK | 예 | 예 | 예 |
Windows에서 모든 .NET 앱을 실행할 수 있도록 하려면 ASP.NET Core 런타임과 .NET 데스크톱 런타임을 모두 설치합니다. ASP.NET Core 런타임은 웹 기반 앱을 실행하고, .NET 데스크톱 런타임은 WPF(Windows Presentation Foundation) 또는 Windows Forms 앱과 같은 데스크톱 앱을 실행합니다.
.NET 설치 방법 선택
NET을 설치하는 방법에는 여러 가지가 있으며 일부 제품은 자체 버전의 .NET을 관리할 수 있습니다. 자체 버전의 .NET을 관리하는 소프트웨어를 통해 .NET을 설치하는 경우 시스템 전체에서 사용하도록 설정되지 않을 수 있습니다. 다른 소프트웨어를 통해 .NET을 설치하는 경우 미치는 영향을 이해해야 합니다.
다음 섹션의 목록을 검토한 후 어떤 방법을 선택해야 할지 잘 모르겠으면 .NET 설치 프로그램을 사용해 보세요.
개발자
-
Visual Studio를 사용하여 .NET 앱을 개발하려면 Visual Studio를 사용하여 .NET을 설치합니다. Visual Studio는 자체 .NET 복사본을 관리합니다. 이 방법은 SDK, 런타임 및 Visual Studio 템플릿을 설치합니다.
-
.NET 앱을 개발하려면 Visual Studio Code용 C# 개발 키트 확장을 설치합니다. 확장은 이미 설치된 SDK를 사용하거나 SDK를 설치할 수 있습니다.
사용자 및 개발자
-
실행하는 실행 파일인 Windows Installer 패키지를 사용하여 .NET을 설치합니다. 이 방법을 사용하면 SDK와 런타임을 설치할 수 있습니다. 설치는 시스템 전체에서 수행됩니다.
-
명령줄을 통해 .NET을 관리하려면 WinGet을 사용하여 .NET을 설치합니다. 이 방법을 사용하면 SDK와 런타임을 설치할 수 있습니다. 설치는 시스템 전체에서 수행됩니다.
-
SDK 또는 런타임 설치를 자동화할 수 있는 PowerShell 스크립트입니다. 설치할 .NET 버전을 선택할 수 있습니다.
지원되는 버전
다음 표는 현재 지원되는 .NET 릴리스와 해당 릴리스가 지원되는 Windows 버전의 목록입니다. 이러한 버전은 .NET 버전이 지원 종료에 도달하거나 Windows 버전이 지원 종료에 도달할 때까지 계속 지원됩니다.
팁
참고로 이 표는 .NET Framework가 아닌 최신 .NET에 적용됩니다. .NET Framework를 설치하려면 .NET Framework 설치 가이드를 참조하세요.
Windows 10 버전의 서비스 종료 날짜는 버전별로 분할됩니다. Home, Pro, Pro Education 및 Pro for Workstations 버전만 다음 표에서 다룹니다. 특정 세부 정보는 Windows 수명 주기 팩트 시트를 확인하세요.
운영 체제 | .NET 8(아키텍처) | .NET 6(아키텍처) |
---|---|---|
Windows 11(24H2, 23H2, 22H2 Ent/Edu) | ✔️ x64, x86, Arm64 | ✔️ x64, Arm64 |
Windows 10(22H2 이상) | ✔️ x64, x86, Arm64 | ✔️ x64, x86, Arm64 |
Windows 8.1 | ❌ | ✔️ x64, x86 |
Windows 7 SP1 ESU | ❌ | ✔️ x64, x86 |
Windows Server 2025 Windows Server 2022 Windows Server 2019 Windows Server, 버전 1903 이상 Windows Server 2016 Windows Server 2012 R2 Windows Server 2012 |
✔️ x64, x86 | ✔️ x64, x86 |
Windows Server Core 2012(및 R2) | ✔️ x64, x86 | ✔️ x64, x86 |
Nano 서버(2022, 2019) | ✔️ x64 | ✔️ x64 |
팁
+
기호는 최소 버전을 나타냅니다.
Windows 7/8.1/서버 2012
Windows 7 및 Windows 8.1은 .NET 6만 지원합니다. 그러나 .NET 6은 2024년 11월 12일부터 지원되지 않습니다.
Windows Server 2012는 여전히 지원되는 모든 버전의 .NET에서 지원됩니다.
세 가지 Windows 버전 모두 추가 종속성을 설치해야 합니다.
운영 체제 | 필수 조건 |
---|---|
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
Arm 기반 Windows PC
.NET은 Arm 기반 Windows PC에서 지원됩니다. 다음 섹션에서는 .NET을 설치할 때 고려해야 할 사항에 대해 설명합니다.
SDK 차이점
.NET SDK의 x86, x64 및 Arm64 버전은 서로 독립적으로 존재합니다. 새 버전이 릴리스되면 각 아키텍처 설치를 업그레이드해야 합니다.
경로 차이
Arm 기반 Windows PC에서는 모든 Arm64 버전의 .NET이 C:\Program Files\dotnet\ 폴더에 설치됩니다. 그러나 .NET SDK의 x64 버전은 C:\Program Files\dotnet\x64\ 폴더에 설치됩니다.
경로 변수
.NET SDK의 x64 및 Arm64 버전이 모두 설치되어 있는 경우 .NET을 시스템 경로에 추가하는 환경 변수(예: PATH
변수)를 변경해야 할 수 있습니다. 또한 DOTNET_ROOT
환경 변수를 사용하는 도구도 적절한 .NET SDK 설치 폴더를 가리키도록 업데이트해야 합니다.
Visual Studio를 사용하여 설치
Visual Studio는 다른 .NET 복사본과 별도로 자체 .NET 복사본을 설치합니다. 다양한 버전의 Visual Studio는 다양한 버전의 .NET을 지원합니다. 최신 버전의 Visual Studio는 항상 최신 버전의 .NET을 지원합니다.
Visual Studio 설치 관리자는 Visual Studio를 설치하고 구성합니다. 일부 Visual Studio 워크로드에는 ASP.NET 및 웹 개발, .NET 다중 플랫폼 앱 UI 개발과 같은 .NET이 포함됩니다. 특정 버전의 .NET은 개별 구성 요소 탭을 통해 설치할 수 있습니다.
Visual Studio 설명서는 다음 방법에 대한 지침을 제공합니다.
.NET 버전 및 Visual Studio
Visual Studio를 사용하여 .NET 앱을 개발하는 경우 다음 표에서 대상 .NET SDK 버전에 따라 필요한 Visual Studio의 최소 버전을 확인하세요.
.NET SDK 버전 | Visual Studio 버전 |
---|---|
8 | Visual Studio 2022 버전 17.8 이상 |
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 정보를 선택합니다.
- 정보 대화 상자에서 버전 번호를 확인합니다.
자세한 내용은 .NET SDK, MSBuild 및 Visual Studio 버전 관리를 참조하세요.
Visual Studio Code로 설치
Visual Studio Code는 데스크톱에서 실행되는 강력한 경량 소스 코드 편집기입니다. Visual Studio Code는 시스템에 이미 설치된 SDK를 사용할 수 있습니다. 또한 C# Dev Kit 확장은 아직 설치되지 않은 경우 .NET을 설치합니다.
Visual Studio Code를 통해 .NET을 설치하는 방법에 대한 지침은 VS Code에서 C# 시작하기를 참조하세요.
.NET 설치 프로그램
Windows Installer 실행 파일은 .NET 다운로드 페이지에서 제공합니다.
웹 브라우저를 열고 https://dotnet.microsoft.com/download/dotnet로 이동합니다.
8.0과 같이 다운로드하려는 .NET 버전을 선택합니다.
.NET 다운로드 링크가 포함된 SDK 또는 런타임 상자를 찾습니다.
설치 프로그램 열에서 Windows 행을 찾아 CPU 아키텍처에 대한 링크를 선택합니다. 확실하지 않은 경우 가장 일반적인 x64를 선택합니다.
브라우저에서 설치 관리자를 자동으로 다운로드해야 합니다.
팁
다음 이미지는 SDK를 보여 주지만 런타임을 다운로드할 수도 있습니다.
Windows 탐색기를 열고 파일이 다운로드된 위치(아마도 다운로드 폴더)로 이동합니다.
파일을 두 번 클릭하여 .NET을 설치합니다.
Windows Installer 대화 상자가 열립니다.
설치를 선택하고 지침에 따라 .NET을 설치합니다.
.NET CLI 사용 방법을 알아보려면 .NET CLI 개요를 참조하세요.
명령줄 옵션
/?
매개 변수를 사용하여 옵션 목록을 표시합니다.
프로덕션 환경에서처럼 .NET을 자동으로 설치하거나 연속 통합을 지원하려면 다음 옵션을 사용합니다.
/install
.NET을 설치합니다./quiet
UI와 프롬프트가 표시되지 않도록 합니다./norestart
Suppresses any attempts to restart.
dotnet-sdk-8.0.100-win-x64.exe /install /quiet /norestart
팁
설치 관리자는 성공 시 종료 코드 0을 반환하고 다시 시작이 필요함을 나타내기 위해 종료 코드 3010을 반환합니다. 다른 값은 오류 코드일 가능성이 높습니다.
Windows 패키지 관리자(winget)를 사용하여 설치
winget.exe
도구를 사용하여 Windows 패키지 관리자 서비스를 통해 .NET을 설치하고 관리할 수 있습니다. WinGet 설치 및 사용 방법에 대한 자세한 내용은 winget 도구를 사용하여 애플리케이션 설치 및 관리를 참조하세요.
.NET 시스템 전체를 설치하는 경우 관리자 권한으로 설치합니다.
.NET WinGet 패키지는 다음과 같습니다.
Microsoft.DotNet.Runtime.8
—.NET 런타임 8.0Microsoft.DotNet.AspNetCore.8
—ASP.NET Core 런타임 8.0Microsoft.DotNet.DesktopRuntime.8
—.NET 데스크톱 런타임 8.0Microsoft.DotNet.SDK.8
—.NET SDK 8.0
SDK 설치
SDK를 설치하면 해당 런타임을 설치할 필요가 없습니다.
PowerShell 또는 명령 프롬프트와 같은 터미널을 엽니다.
winget install
명령을 실행하고 SDK 패키지 이름을 전달합니다.winget install Microsoft.DotNet.SDK.8
.NET CLI 사용 방법을 알아보려면 .NET CLI 개요를 참조하세요.
런타임 설치
설치할 수 있는 다양한 런타임이 있습니다. 각 런타임에 포함된 내용을 알아보려면 올바른 런타임 선택 섹션을 참조하세요.
PowerShell 또는 명령 프롬프트와 같은 터미널을 엽니다.
winget install
명령을 실행하고 SDK 패키지 이름을 전달합니다.winget install Microsoft.DotNet.DesktopRuntime.8 winget install Microsoft.DotNet.AspNetCore.8
.NET CLI 사용 방법을 알아보려면 .NET CLI 개요를 참조하세요.
버전 검색
설치하려는 패키지의 다른 버전을 검색하려면 winget search
명령을 사용합니다. 예를 들어, 다음 명령은 WinGet을 통해 사용 가능한 모든 .NET SDK를 검색합니다.
winget search Microsoft.DotNet.SDK
검색 결과는 각 패키지 식별자와 함께 테이블에 인쇄됩니다.
Name Id Version Source
----------------------------------------------------------------------------------------------
Microsoft .NET SDK 9.0 Preview Microsoft.DotNet.SDK.Preview 9.0.100-preview.3.24204.13 winget
Microsoft .NET SDK 8.0 Microsoft.DotNet.SDK.8 8.0.300 winget
Microsoft .NET SDK 7.0 Microsoft.DotNet.SDK.7 7.0.409 winget
Microsoft .NET SDK 6.0 Microsoft.DotNet.SDK.6 6.0.422 winget
Microsoft .NET SDK 5.0 Microsoft.DotNet.SDK.5 5.0.408 winget
Microsoft .NET SDK 3.1 Microsoft.DotNet.SDK.3_1 3.1.426 winget
미리 보기 버전 설치
8
과 같은 버전 번호를 Preview
라는 단어로 대체하여 미리 보기 버전을 설치할 수 있습니다. 다음 예에서는 .NET Desktop Runtime의 미리 보기 릴리스를 설치합니다.
winget install Microsoft.DotNet.DesktopRuntime.Preview
PowerShell을 사용하여 설치
연속 통합 및 비관리자 설치의 경우 dotnet-install
PowerShell 스크립트를 통해 .NET을 설치하는 것이 좋습니다. 시스템에서 일반적인 사용을 위해 .NET을 설치하는 경우 .NET 설치 프로그램 또는 Windows 패키지 관리자 설치 방법을 사용합니다.
스크립트는 기본적으로 최신 LTS(장기 지원) 버전(.NET 8)을 설치합니다. -Channel
스위치를 지정하여 특정 릴리스를 선택할 수 있습니다. 런타임을 설치하려면 -Runtime
스위치를 포함합니다. 포함하지 않을 경우 스크립트가 SDK를 설치합니다. 스크립트는 https://dot.net/v1/dotnet-install.ps1에서 사용할 수 있으며 소스 코드는 GitHub에서 호스트됩니다.
스크립트에 대한 자세한 내용은 dotnet-install 스크립트 참조를 확인합니다.
런타임 설치
.NET 런타임은 -Runtime
스위치를 제공하여 설치됩니다.
https://dot.net/v1/dotnet-install.ps1에서 설치 스크립트를 다운로드합니다.
PowerShell을 열고 스크립트가 포함된 폴더로 이동합니다.
호환성을 극대화하려면 다음 명령을 실행하여 데스크톱 런타임과 ASP.NET Core 런타임을 모두 설치합니다.
dotnet-install.ps1 -Runtime windowsdesktop dotnet-install.ps1 -Runtime aspnetcore
.NET CLI 사용 방법을 알아보려면 .NET CLI 개요를 참조하세요.
SDK 설치
SDK를 설치하는 경우 런타임을 설치할 필요가 없습니다.
https://dot.net/v1/dotnet-install.ps1에서 설치 스크립트를 다운로드합니다.
PowerShell을 열고 스크립트가 포함된 폴더로 이동합니다.
다음 명령을 실행하여 .NET SDK를 설치합니다.
dotnet-install.ps1
참고 항목
SDK는
-Runtime
스위치를 생략하여 설치됩니다.
.NET CLI 사용 방법을 알아보려면 .NET CLI 개요를 참조하세요.
유효성 검사
설치 프로그램 또는 이진 릴리스를 다운로드한 후 파일이 변경되거나 손상되지 않았는지 확인합니다. 컴퓨터에서 체크섬을 확인한 다음 다운로드 웹 사이트에 보고된 내용과 비교할 수 있습니다.
공식 다운로드 페이지에서 파일을 다운로드하면 해당 파일의 체크섬이 텍스트 상자에 표시됩니다. 체크섬 값을 클립보드에 복사하려면 복사 단추를 선택합니다.
PowerShell 또는 명령 프롬프트를 사용하여 다운로드한 파일의 체크섬의 유효성을 검사할 수 있습니다. 예를 들어, 다음 명령은 dotnet-sdk-8.0.100-win-x64.exe 파일의 체크섬을 보고합니다.
> certutil -hashfile dotnet-sdk-8.0.100-win-x64.exe SHA512
SHA512 hash of dotnet-sdk-8.0.100-win-x64.exe:
248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e
CertUtil: -hashfile command completed successfully.
> (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash
248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e
체크섬을 다운로드 사이트에서 제공한 값과 비교합니다.
PowerShell 및 체크섬 파일을 사용하여 유효성을 검사합니다.
.NET 릴리스 정보에는 다운로드한 파일의 유효성을 검사하는 데 사용할 수 있는 체크섬 파일에 대한 링크가 포함되어 있습니다. 다음 단계에서는 체크섬 파일을 다운로드하고 .NET 설치 이진 파일의 유효성을 검사하는 방법을 설명합니다.
GitHub(https://github.com/dotnet/core/tree/main/release-notes/8.0)의 .NET 8 릴리스 정보 페이지에는 릴리스라는 섹션이 포함되어 있습니다. 해당 섹션의 표는 각 .NET 8 릴리스에 대한 다운로드 및 체크섬 파일로 연결됩니다.
다운로드한 .NET 버전에 대한 링크를 선택합니다. 이전 섹션에서는 .NET 8.0.0 릴리스에 있는 .NET SDK 8.0.100을 사용했습니다.
팁
어떤 .NET 릴리스에 체크섬 파일이 포함되어 있는지 확실하지 않은 경우 해당 파일을 찾을 때까지 링크를 탐색합니다.
릴리스 페이지에서 .NET 런타임 및 .NET SDK 버전과 체크섬 파일에 대한 링크를 볼 수 있습니다.
체크섬 파일에 대한 링크를 복사합니다.
다음 스크립트를 사용하되 링크를 바꿔 적절한 체크섬 파일을 다운로드합니다.
Invoke-WebRequest https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt -OutFile 8.0.0-sha.txt
체크섬 파일과 .NET 릴리스 파일을 모두 동일한 디렉터리에 다운로드한 상태에서 체크섬 파일에서 .NET 다운로드의 체크섬을 검색합니다.
유효성 검사를 통과하면 True가 인쇄된 것으로 표시됩니다.
> (Get-Content .\8.0.0-sha.txt | Select-String "dotnet-sdk-8.0.100-win-x64.exe").Line -like (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash + "*" True
False가 인쇄되면 다운로드한 파일이 유효하지 않은 것이므로 사용해서는 안 됩니다.
문제 해결
.NET SDK를 설치한 후 .NET CLI 명령을 실행하려고 하면 문제가 발생할 수 있습니다. 이 섹션에서는 이러한 일반적인 문제를 수집하고 솔루션을 제공합니다.
- .NET SDK를 찾을 수 없음
- 앱 빌드가 예상보다 느림
hostfxr.dll
/api-ms-win-crt-runtime-l1-1-0.dll
/api-ms-win-cor-timezone-l1-1-0.dll
이 누락됨
.NET SDK를 찾을 수 없음
.NET SDK의 x86(32비트) 및 x64(64비트) 버전을 모두 설치했을 가능성이 높습니다. dotnet
명령을 실행하면 x64 버전으로 확인되어야 하는데 x86 버전으로 확인되기 때문에 이로 인해 충돌이 발생합니다. 이 문제는 x64 버전을 먼저 해결하기 위해 %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\ 위로 이동합니다.
앱 빌드가 예상보다 느림
Windows 기능인 스마트 앱 제어가 꺼져 있는지 확인합니다. 개발에 사용되는 컴퓨터에서는 스마트 앱 제어를 사용하도록 설정하지 않는 것이 좋습니다. "off" 이외의 설정은 SDK 성능에 부정적인 영향을 미칠 수 있습니다.
hostfxr.dll
/ api-ms-win-crt-runtime-l1-1-0.dll
/ api-ms-win-cor-timezone-l1-1-0.dll
가 누락됨
Microsoft Visual C++ 2015-2019 재배포 가능 패키지(64비트 또는 32비트)를 설치합니다.
관련 콘텐츠
.NET