Trên Windows, bạn có thể cài đặt và chạy nhiều phiên bản .NET Framework cùng lúc. Khi phát triển hoặc triển khai ứng dụng mới dựa trên thư viện .NET, đôi khi bạn cần biết trước phiên bản và service pack nào của .Net Framework đã cài trên máy user hoặc server. Bạn có thể lấy danh sách phiên bản .NET Framework đã cài trên máy tính bằng nhiều cách.
Kiểm Tra Phiên Bản .NET Framework Qua Windows Registry
Khi bạn cài đặt hoặc cập nhật bất kỳ phiên bản .NET Framework nào, thay đổi được ghi vào Windows registry.
Chạy Registry Editor (regedit.exe) và đi đến khóa registry HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP. Khóa reg này chứa thông tin về tất cả phiên bản .NET trên máy tính. Mở rộng bất kỳ subkey nào và chú ý các tham số sau (cho .Net 4.x bạn cần mở rộng subkey Full):
- Install — cờ cài đặt (nếu bằng 1, nghĩa là phiên bản .Net này đã cài trên máy);
- Install Path — thư mục cài đặt phiên bản .Net này;
- Release — số release .NET;
- Version — số phiên bản đầy đủ của .Net Framework.

Trong ví dụ này, bạn thấy .NET Framework v2.0.50727, 3.0, 3.5, và 7.0 (release 460805) đã cài.
Lưu ý rằng trong OS server từ Windows Server 2012, tất cả phiên bản .Net cơ bản (3.5 và 4.5) được cài như tính năng Windows (Cài đặt .NET Framework 3.5 trên Windows Server và Windows 10), và phiên bản phụ (4.5.1, 4.5.2, v.v.) cài như cập nhật riêng qua Windows Update hoặc WSUS.Dùng bảng sau để map số release đến phiên bản .NET Framework (cho .NET 4.5 trở lên).
Release Number .NET Framework version 378389 .NET Framework 4.5 378675 NET Framework 4.5.1 on Windows 8.1 and Windows Server 2012 R2 378758 .NET Framework 4.5.1 on Windows 8, Windows 7 SP1, Windows Vista SP2 379893 .NET Framework 4.5.2 393295 .NET Framework 4.6 on Windows 10 393297 .NET Framework 4.6 394254 .NET Framework 4.6.1 on Windows 10 1511 394271 .NET Framework 4.6.1 394802 .NET Framework 4.6.2 on Windows 10 1607 394806 .NET Framework 4.6.2 460798 .NET Framework 4.7 on Windows 10 1703 460805 .NET Framework 4.7 461308 .NET Framework 4.7.1 on Windows 10 1709 461310 .NET Framework 4.7.1 461808 .NET Framework 4.7.2 on Windows 10 1803 461814 .NET Framework 4.7.2 528372 .NET Framework 4.8 on Windows 10 2004, 20H2, and 21H1 528040 .NET Framework 4.8 on Windows 10 1903 and 1909 528449 .NET Framework 4.8 on Windows Server 2022 and Windows 11 528049 .NET Framework 4.8 (other Window versions) .NET Framework 4.8 là phiên bản mới nhất của .NET Framework.Cách Kiểm Tra Phiên Bản .NET Framework với PowerShell?
Bạn có thể lấy thông tin về các phiên bản và release NET Framework đã cài trên máy tính dùng PowerShell. Cách dễ nhất lấy thông tin này trực tiếp từ registry là dùng cmdlet Get-ChildItem và Get-ItemProperty (xem thêm về quản lý registry với PowerShell).
Để hiển thị danh sách tất cả phiên bản .Net Framework trên máy, chạy lệnh:
Get-ChildItem ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP’ -Recurse | Get-ItemProperty -Name version -EA 0 | Where { $_.PSChildName -Match ‘^(?!S)\p{L}’} | Select PSChildName, version

.Net phiên bản 2.0, 3.0, 3.5, và 4.7 đã cài trên máy này.
Từ .Net v4.0, phiên bản Framework mới ghi đè (thay thế) phiên bản cũ. Vì vậy, nếu .NET Framework 4.7 cài trên máy, khi cài .NET Framework 4.8, phiên bản cũ sẽ bị thay thế.Bạn có thể chỉ hiển thị số release cho (phiên bản .Net 4.x):
(Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release).Release

Theo bảng, số 528449 tương ứng .Net Framework 4.8 trên Windows 11.
Liệt Kê Phiên Bản .NET Đã Cài Trên Máy Tính Từ Xa
Bạn có thể từ xa lấy danh sách phiên bản .Net Framework đã cài trên máy tính trong mạng dùng PowerShell.
Dưới đây là script PowerShell nhỏ truy vấn danh sách máy từ file văn bản và từ xa kiểm tra phiên bản .Net Framework. Cmdlet WinRM Invoke-Command dùng để chạy lệnh trên máy từ xa.
Function GetNetFrameworkVersion {
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |
Get-ItemProperty -name Version,Release -EA 0 |
Where { $_.PSChildName -match '^(?![SW])\p{L}'} |
Select PSChildName, Version, Release, @{
name="Product"
expression={
switch -regex ($_.Release) {
"378389" { [Version]"4.5" }
"378675|378758" { [Version]"4.5.1" }
"379893" { [Version]"4.5.2" }
"393295|393297" { [Version]"4.6" }
"394254|394271" { [Version]"4.6.1" }
"394802|394806" { [Version]"4.6.2" }
"460798|460805" { [Version]"4.7" }
"461308|461310" { [Version]"4.7.1" }
"461808|461814" { [Version]"4.7.2" }
"528040|528049|528449|528372" { [Version]"4.8" }
{$_ -gt 528449} { [Version]"unidentified version (> 4.8)" }
}
}
}
}
$result=@()
$servers= Get-Content C:\Scripts\my_servers.txt
foreach ($server in $servers)
{
$result+=Invoke-Command -ComputerName $server -ScriptBlock $function:GetNetFrameworkVersion
}
$result| select PSComputerName,@{name = ".NET Framework"; expression = {$_.PSChildName}},Product,Version,Release| Out-GridView
Script hiển thị bảng đồ họa (qua Out-GridView) với danh sách phiên bản .Net Framework đã cài trên máy từ xa.

Bạn cũng có thể đặt danh sách máy để kiểm tra phiên bản .NET như sau:
$servers= @("comp1","comp2","comp3","comp4")
Hoặc lấy danh sách máy domain với cmdlet Get-ADComputer (từ module Active Directory cho Windows PowerShell). Lệnh sau chọn tất cả host Windows Server hoạt động trong domain:
$servers= Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"'
Cách Tìm Ra Phiên Bản .NET Framework Với CMD?
Tất cả phiên bản .NET Framework được cài vào thư mục Windows sau:
%SystemRoot%\Microsoft.NET\Framework%SystemRoot%\Microsoft.NET\Framework64
Bạn có thể mở thư mục đó và xem danh sách phiên bản .NET đã cài. Mỗi phiên bản có thư mục riêng với v và số phiên bản làm tên thư mục. Bạn có thể liệt kê phiên bản .NET Framework từ command prompt:
dir %WINDIR%\Microsoft.Net\Framework\v* /O:-N /B

Lệnh này liệt kê tất cả phiên bản đã cài trừ .NET 4.5, vì Framework 4.5+ cài vào subdirectory v4.0.xxxxx.