윈도우에서 .NET Framework 버전을 확인하는 방법

닷넷 프레임워크(.NET Framework)는 마이크로소프트의 윈도우 프로그램 개발 및 실행 환경입니다. 1.0부터 4.8 이상 다양한 버전이 있으며, 애플리케이션에 따라 특정한 버전을 필요로 하며, 여러 버전을 시스템에 설치할 수 있습니다. 여러 버전을 사용하다보니 현재 시스템에 설치된 정확한 버전을 확인하려면 번거로울 수 있습니다. 이 글에서는 현재 시스템에 설치된 .NET Framework 정보를 확인하는 방법을 소개합니다.

레지스트리에서 4.x 버전 확인하는 방법#

.NET Framework 4.0 이상 버전의 경우, Windows Terminal에서 PowerShell을 창을 열고 다음 내용을 실행하면 현재 설치된 정확한 버전 정보를 확인할 수 있습니다.

$ (get-item 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full').GetValue("Release")
528372

예시의 528372 버전은 .NET Framework 4.8 버전이며, ’Windows 10 2020년 5월 업데이트 및 Windows 10 2020년 10월 업데이트’의 릴리스 넘버입니다. 릴리스 넘버에 대한 대응하는 버전은 다음 목록에서 확인해주세요.

  • .NET Framework 4.5, > 378389
    • 모든 Windows 운영 체제: 378389
  • .NET Framework 4.5.1, > 378675
    • Windows 8.1 및 Windows Server 2012 R2: 378675
    • 다른 모든 Windows 운영 체제: 378758
  • .NET Framework 4.5.2, > 379893
    • 모든 Windows 운영 체제: 379893
  • .NET Framework 4.6, > 393295
    • Windows 10: 393295
    • 다른 모든 Windows 운영 체제: 393297
  • .NET Framework 4.6.1, > 394254
    • Windows 10 11월 업데이트 운영 체제: 394254
    • 다른 모든 Windows 운영 체제(Windows 10 포함): 394271
  • .NET Framework 4.6.2, > 394802
    • Windows 10 1주년 업데이트 및 Windows Server 2016: 394802
    • 다른 모든 Windows 운영 체제(다른 Windows 10 운영 체제 포함): 394806
  • .NET Framework 4.7, > 460798
    • Windows 10 Creators Update: 460798
    • 다른 모든 Windows 운영 체제(다른 Windows 10 운영 체제 포함): 460805
  • .NET Framework 4.7.1, > 461308
    • Windows 10 Fall Creators Update 및 Windows Server, 버전 1709: 461308
    • 다른 모든 Windows 운영 체제(다른 Windows 10 운영 체제 포함): 461310
  • .NET Framework 4.7.2, > 461808
    • Windows 10 2018년 4월 업데이트 및 Windows Server, 버전 1803: 461808
    • Windows 10 2018년 4월 업데이트 및 Windows Server, 버전 1803 이외의 모든 Windows 운영 체제: 461814
  • .NET Framework 4.8, > 528040
    • Windows 10 2019년 5월 업데이트 및 Windows 10 2019년 11월 업데이트: 528040
    • Windows 10 2020년 5월 업데이트 및 Windows 10 2020년 10월 업데이트: 528372
    • 다른 모든 Windows 운영 체제(다른 Windows 10 운영 체제 포함): 528049

1.0 이상 버전 설치 여부 확인하는 방법#

1.0, 1.1, 2.0, 3.0, 3.5, 4.0 버전에 대해서, 각각 아래의 레지스트리 값으로 설치 여부를 확인할 수 있습니다.

  • 1.0
    • HKLM:\Software\Microsoft\.NETFramework\Policy\v1.0\3705
    • Install 값이 1
  • 1.1
    • HKLM:\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322
    • Install 값이 1
  • 2.0
    • HKLM:\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727
    • Install 값이 1
  • 3.0
    • HKLM:\Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup
    • InstallSuccess 값이 1
  • 3.5
    • HKLM:\Software\Microsoft\NET Framework Setup\NDP\v3.5
    • Install 값이 1
  • 4.0 클라이언트 프로필
    • HKLM:\Software\Microsoft\NET Framework Setup\NDP\v4\Client
    • Install` 값이 1
  • 4.0 전체 프로필
    • HKLM:\Software\Microsoft\NET Framework Setup\NDP\v4\Full
    • Install 값이 1

예를 들어 4.0 전체 프로필로 설치 여부를 확인하고 싶다면 아래와 같이 PowerShell에서 get-item으로 레지스트를 조회해봅니다.

$ get-item 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full'
    Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4


Name                           Property
----                           --------
Full                           CBS           : 1
                               Install       : 1
                               InstallPath   : C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
                               Release       : 528372
                               Servicing     : 0
                               TargetVersion : 4.0.0
                               Version       : 4.8.04084

Install 값이 1인 것으로 4.x 버전이 설치된 것을 확인할 수 있으며, Version 값으로 버전 정보도 확인할 수 있습니다.

DotNetVersionLister로 버전 정보 확인하는 방법#

여러 버전의 .NET Framework 설치 여부를 한꺼번에 확인하고 싶을 때는 DotNetVersionLister를 사용하면 편리합니다.

Install-Module 명령어로 설치할 수 있습니다. 설치 과정에서 신뢰할 수 없는 리포지토리로 나오는 점에 유의해주세요. 보안 문제가 걱정된다면 직접 저장소에서 파워셸 스크립트를 다운로드 받아 실행하는 것도 방법입니다. 여기서는 Install-Module을 사용해 설치를 진행하겠습니다. 설치하려면 Y를 입력해주세요.

$ Install-Module -Name DotNetVersionLister -Scope CurrentUser

신뢰할 수 없는 리포지토리
신뢰할 수 없는 리포지토리에서 모듈을 설치하는 중입니다. 이 리포지토리를 신뢰하는 경우
Set-PSRepository cmdlet을 실행하여 InstallationPolicy 값을 변경하십시오. 'PSGallery'에서 모듈을
설치하시겠습니까?
[Y] 예(Y)  [A] 모두 예(A)  [N] 아니요(N)  [L] 모두 아니요(L)  [S] 일시 중단(S)  [?] 도움말
(기본값은 "N"):Y

설치가 완료되면 Get-STDotNetVersion 명령어를 사용할 수 있습니다. 이 명령어를 인자 없이 실행하면 버전 별 .NET Framework 설치 여부가 출력됩니다.

PS C:\Users\lainy> Get-STDotNetVersion
ComputerName : localhost
>=4.x        : 4.8 or later
v4\Client    : Installed
v4\Full      : Installed
v3.5         : Installed
v3.0         : Installed
v2.0.50727   : Installed
v1.1.4322    : Not installed (no key)
Ping         : True
Error        :

    Script start time: 08/08/2021 20:36:08
    Script end time:   08/08/2021 20:36:09

추천 문서#