Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nota
Artikel ini khusus untuk .NET Framework. Untuk menentukan .NET Core dan .NET 5+ SDK dan runtime yang diinstal, lihat Cara memeriksa bahwa .NET sudah diinstal.
Anda dapat menginstal dan menjalankan beberapa versi .NET Framework di komputer.
- Jika Anda ingin memeriksa versi di komputer Anda sendiri, cara term mudah adalah melaluiProgram dan Fitur>> Kontrol, atau di Pengaturan di bawah Aplikasi>yang Diinstal aplikasi. Anda juga dapat menggunakan alat yang dikelola komunitas ini.
- Jika Anda adalah pengembang aplikasi, Anda mungkin perlu mengetahui versi .NET Framework mana yang diinstal di komputer pengguna aplikasi.
Registri berisi daftar versi .NET Framework yang diinstal pada komputer. Anda juga bisa mengakses
RuntimeInformation.FrameworkDescriptionproperti. - Untuk menemukan versi CLR, yang di-versi secara terpisah, lihat Menemukan versi CLR.
.NET Framework terdiri dari dua komponen utama, yang diversikan secara terpisah:
- Sekumpulan rakitan, yang merupakan kumpulan jenis dan sumber daya yang menyediakan fungsionalitas untuk aplikasi Anda. .NET Framework dan rakitan berbagi nomor versi yang sama. Misalnya, versi .NET Framework mencakup 4.5, 4.6.1, dan 4.7.2.
- CLR (Common Language Runtime), yang mengelola dan menjalankan kode aplikasi Anda. Satu versi CLR biasanya mendukung beberapa versi .NET Framework. Misalnya, CLR versi 4.0.30319. xxxxx dengan xxxxx kurang dari 42000, mendukung .NET Framework versi 4 hingga 4.5.2. Versi CLR yang lebih besar dari atau sama dengan 4.0.30319.42000 mendukung versi .NET Framework yang dimulai dengan .NET Framework 4.6.
Tip
Untuk informasi tentang mendeteksi pembaruan yang diinstal untuk setiap versi .NET Framework, lihat Cara: Menentukan pembaruan .NET Framework mana yang diinstal.
Alat yang dikelola komunitas
Alat yang dikelola komunitas tersedia untuk membantu mendeteksi versi .NET Framework mana yang diinstal:
RuntimeInformation.FrameworkDescription Properti
Untuk mengkueri secara terprogram versi .NET tempat aplikasi Anda berjalan, Anda dapat menggunakan RuntimeInformation.FrameworkDescription properti . Jika aplikasi berjalan pada .NET Framework, outputnya akan mirip dengan:
.NET Framework 4.8.4250.0
Sebagai perbandingan, jika aplikasi berjalan pada .NET Core atau .NET 5+, outputnya akan mirip dengan:
.NET Core 3.1.9
.NET 5.0.0
Registry
Anda dapat menggunakan registri untuk mendeteksi versi .NET Framework mana yang diinstal. Kuncinya berbeda untuk .NET Framework 1.0-4.0 dan .NET Framework 4.5+. Anda dapat menggunakan Editor Registri, PowerShell, atau kode untuk memeriksa registri.
.NET Framework 4.5 dan versi yang lebih baru
Versi .NET Framework (4.5 dan yang lebih baru) yang diinstal pada komputer tercantum dalam registri di HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. Jika subkunci Full tidak ada, maka .NET Framework 4.5 atau lebih tinggi tidak diinstal.
Nota
Subkunci NET Framework Setup di jalur registri tidak dimulai dengan titik.
Nilai Rilis REG_DWORD dalam registri mewakili versi .NET Framework yang diinstal.
| Versi .NET Framework | Nilai Rilis |
|---|---|
| .NET Framework 4.5 | Semua sistem operasi Windows: 378389 |
| .NET Framework 4.5.1 | Pada Windows 8.1 dan Windows Server 2012 R2: 378675 Pada semua sistem operasi Windows lainnya: 378758 |
| .NET Framework 4.5.2 | Semua sistem operasi Windows: 379893 |
| .NET Framework 4.6 | Pada Windows 10: 393295 Pada semua sistem operasi Windows lainnya: 393297 |
| .NET Framework 4.6.1 | Pada sistem Pembaruan Windows 10 November: 394254 Pada semua sistem operasi Windows lainnya (termasuk Windows 10): 394271 |
| .NET Framework 4.6.2 | Pada Windows 10 Anniversary Update dan Windows Server 2016: 394802 Pada semua sistem operasi Windows lainnya (termasuk sistem operasi Windows 10 lainnya): 394806 |
| .NET Framework 4.7 | Pada Pembaruan Pembuat Windows 10: 460798 Pada semua sistem operasi Windows lainnya (termasuk sistem operasi Windows 10 lainnya): 460805 |
| .NET Framework 4.7.1 | Pada Windows 10 Fall Creators Update dan Windows Server, versi 1709: 461308 Pada semua sistem operasi Windows lainnya (termasuk sistem operasi Windows 10 lainnya): 461310 |
| .NET Framework 4.7.2 | Pada Windows 10 April 2018 Update dan Windows Server, versi 1803: 461808 Pada semua sistem operasi Windows selain Pembaruan Windows 10 April 2018 dan Windows Server, versi 1803: 461814 |
| .NET Framework 4.8 | Pada Pembaruan Windows 10 Mei 2019 dan Pembaruan Windows 10 November 2019: 528040 Pada Pembaruan Windows 10 Mei 2020, Pembaruan Oktober 2020, Pembaruan Mei 2021, Pembaruan November 2021, dan Pembaruan 2022: 528372 Pada Windows 11 dan Windows Server 2022: 528449 Pada semua sistem operasi Windows lainnya (termasuk sistem operasi Windows 10 lainnya): 528049 |
| .NET Framework 4.8.1 | Pada Pembaruan Windows 11 2025: 533509 Pada Pembaruan Windows 11 2022 dan Pembaruan Windows 11 2023: 533320 Semua sistem operasi Windows lainnya: 533325 |
Versi minimum
Untuk menentukan apakah versi minimum .NET Framework ada, periksa nilai Rilis REG_DWORD yang lebih besar dari atau sama dengan nilai terkait yang tercantum dalam tabel berikut. Misalnya, jika aplikasi Anda berjalan di bawah .NET Framework 4.8 atau versi yang lebih baru, uji nilai Rilis REG_DWORD yang lebih besar dari atau sama dengan 528040.
| Versi .NET Framework | Nilai minimum |
|---|---|
| .NET Framework 4.5 | 378389 |
| .NET Framework 4.5.1 | 378675 |
| .NET Framework 4.5.2 | 379893 |
| .NET Framework 4.6 | 393295 |
| .NET Framework 4.6.1 | 394254 |
| .NET Framework 4.6.2 | 394802 |
| .NET Framework 4.7 | 460798 |
| .NET Framework 4.7.1 | 461308 |
| .NET Framework 4.7.2 | 461808 |
| .NET Framework 4.8 | 528040 |
| .NET Framework 4.8.1 | 533320 |
Menggunakan Editor Registri
Dari menu Mulai , pilih Jalankan, masukkan regedit, lalu pilih OK.
(Anda harus memiliki kredensial administratif untuk menjalankan regedit.)
Di Editor Registri, buka subkuntang berikut: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. Jika subkunji Full tidak ada, maka Anda tidak memiliki .NET Framework 4.5 atau yang lebih baru yang diinstal.
Periksa entri REG_DWORD bernama Rilis. Jika ada, maka Anda memiliki .NET Framework 4.5 atau yang lebih baru yang terinstal. Nilainya sesuai dengan versi .NET Framework tertentu. Dalam gambar berikut, misalnya, nilai entri Rilis adalah 528040, yang merupakan kunci rilis untuk .NET Framework 4.8.
Gunakan PowerShell untuk memeriksa versi minimum
Gunakan perintah PowerShell untuk memeriksa nilai entri Rilis subkunci HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full .
Contoh berikut memeriksa nilai entri Rilis untuk menentukan apakah .NET Framework 4.6.2 atau yang lebih baru diinstal. Kode ini mengembalikan True jika diinstal dan False sebaliknya.
(Get-ItemPropertyValue -LiteralPath 'HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release) -ge 394802
Mengkueri registri menggunakan kode
Gunakan metode RegistryKey.OpenBaseKey dan RegistryKey.OpenSubKey untuk mengakses subkunci HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full di registri Windows.
Penting
Jika aplikasi yang Anda jalankan adalah 32-bit dan berjalan di Windows 64-bit, jalur registri akan berbeda dari yang tercantum sebelumnya. Registri 32-bit tersedia di subkunci HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\. Misalnya, subkunci registri untuk .NET Framework 4.5 adalah HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full.
Periksa nilai Rilis REG_DWORD untuk menentukan versi yang diinstal. Agar kompatibel ke depan, periksa nilai yang lebih besar atau sama dengan nilai yang tercantum dalam tabel versi .NET Framework.
Contoh berikut memeriksa nilai entri Rilis di registri untuk menemukan versi .NET Framework 4.5-4.8.1 yang diinstal.
Tip
Tambahkan direktif using Microsoft.Win32 atau Imports Microsoft.Win32 di bagian atas file kode Anda jika Anda belum melakukannya.
const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";
using (RegistryKey baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32))
using (RegistryKey ndpKey = baseKey.OpenSubKey(subkey))
{
if (ndpKey != null && ndpKey.GetValue("Release") != null)
Console.WriteLine($".NET Framework Version: {CheckFor45PlusVersion((int)ndpKey.GetValue("Release"))}");
else
Console.WriteLine(".NET Framework Version 4.5 or later is not detected.");
}
// Checking the version using >= enables forward compatibility.
string CheckFor45PlusVersion(int releaseKey)
{
if (releaseKey >= 533320) return "4.8.1 or later";
if (releaseKey >= 528040) return "4.8";
if (releaseKey >= 461808) return "4.7.2";
if (releaseKey >= 461308) return "4.7.1";
if (releaseKey >= 460798) return "4.7";
if (releaseKey >= 394802) return "4.6.2";
if (releaseKey >= 394254) return "4.6.1";
if (releaseKey >= 393295) return "4.6";
if (releaseKey >= 379893) return "4.5.2";
if (releaseKey >= 378675) return "4.5.1";
if (releaseKey >= 378389) return "4.5";
// This code should never execute. A non-null release key should mean
// that 4.5 or later is installed.
return "No 4.5 or later version detected";
}
Private Sub Get45PlusFromRegistry()
Const subkey As String = "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\"
Using baseKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32),
ndpKey As RegistryKey = baseKey.OpenSubKey(subkey)
If ndpKey IsNot Nothing AndAlso ndpKey.GetValue("Release") IsNot Nothing Then
Console.WriteLine($".NET Framework Version: {CheckFor45PlusVersion(ndpKey.GetValue("Release"))}")
Else
Console.WriteLine(".NET Framework Version 4.5 or later is not detected.")
End If
End Using
End Sub
' Checking the version using >= enables forward compatibility.
Private Function CheckFor45PlusVersion(releaseKey As Integer) As String
Select Case releaseKey
Case >= 533320 : Return "4.8.1 or later"
Case >= 528040 : Return "4.8"
Case >= 461808 : Return "4.7.2"
Case >= 461308 : Return "4.7.1"
Case >= 460798 : Return "4.7"
Case >= 394802 : Return "4.6.2"
Case >= 394254 : Return "4.6.1"
Case >= 393295 : Return "4.6"
Case >= 379893 : Return "4.5.2"
Case >= 378675 : Return "4.5.1"
Case >= 378389 : Return "4.5"
Case Else
Return "No 4.5 or later version detected"
End Select
End Function
Contoh menampilkan output seperti berikut:
.NET Framework Version: 4.6.1
Mengkueri registri menggunakan PowerShell
Contoh berikut menggunakan PowerShell untuk memeriksa nilai entri Rilis di registri untuk menemukan versi .NET Framework 4.5-4.8.1 yang diinstal:
$release = Get-ItemPropertyValue -LiteralPath 'HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release
switch ($release) {
{ $_ -ge 533320 } { $version = '4.8.1 or later'; break }
{ $_ -ge 528040 } { $version = '4.8'; break }
{ $_ -ge 461808 } { $version = '4.7.2'; break }
{ $_ -ge 461308 } { $version = '4.7.1'; break }
{ $_ -ge 460798 } { $version = '4.7'; break }
{ $_ -ge 394802 } { $version = '4.6.2'; break }
{ $_ -ge 394254 } { $version = '4.6.1'; break }
{ $_ -ge 393295 } { $version = '4.6'; break }
{ $_ -ge 379893 } { $version = '4.5.2'; break }
{ $_ -ge 378675 } { $version = '4.5.1'; break }
{ $_ -ge 378389 } { $version = '4.5'; break }
default { $version = $null; break }
}
if ($version) {
Write-Host -Object ".NET Framework Version: $version"
} else {
Write-Host -Object '.NET Framework Version 4.5 or later is not detected.'
}
Contoh ini mengikuti praktik yang direkomendasikan untuk pemeriksaan versi:
- Ini memeriksa apakah nilai entri Rilislebih besar dari atau sama dengan nilai nilai rilis yang diketahui.
- Ini memeriksa secara berurutan dari versi terbaru ke versi paling awal.
.NET Framework 1.0-4.0
Setiap versi .NET Framework dari 1.1 hingga 4.0 terdaftar sebagai subkuncar di HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP. Tabel berikut mencantumkan jalur ke setiap versi .NET Framework. Untuk sebagian besar versi, ada nilai Install REG_DWORD dari 1 untuk menunjukkan bahwa versi ini telah terpasang. Dalam subkunci ini, ada juga nilai Versi REG_SZ yang berisi string versi.
Nota
Subkunci NET Framework Setup di jalur registri tidak dimulai dengan titik.
| Versi Kerangka Kerja | Subkunci Registri | Nilai |
|---|---|---|
| 1.0 | HKLM\Software\Microsoft\. NETFramework\Policy\v1.0\3705 |
Pasang REG_SZ sama dengan 1 |
| 1.1 | HKLM\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322 |
Instal REG_DWORD sama dengan 1 |
| 2.0 | HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 |
Instal REG_DWORD sama dengan 1 |
| 3.0 | HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup |
InstallSuccess REG_DWORD sama dengan 1 |
| 3.5 | HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5 |
Instal REG_DWORD sama dengan 1 |
| 4.0 Profil Pelanggan | HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client |
Instal REG_DWORD sama dengan 1 |
| 4.0 Profil Lengkap | HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full |
Instal REG_DWORD sama dengan 1 |
Penting
Jika aplikasi yang Anda jalankan adalah 32-bit dan berjalan di Windows 64-bit, jalur registri akan berbeda dari yang tercantum sebelumnya. Registri 32-bit tersedia di subkunci HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\. Misalnya, subkunci registri untuk .NET Framework 3.5 adalah HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5.
Perhatikan bahwa jalur registri ke subkunci .NET Framework 1.0 berbeda dari yang lain.
Menggunakan Editor Registri (versi kerangka kerja yang lebih lama)
Dari menu Mulai , pilih Jalankan, masukkan regedit, lalu pilih OK.
Anda harus memiliki kredensial administratif untuk menjalankan regedit.
Buka subkunci yang sesuai dengan versi yang ingin Anda periksa. Gunakan tabel di bagian .NET Framework 1.0-4.0 .
Gambar berikut menunjukkan subkunci dan nilai Versi untuk .NET Framework 3.5.
Mengkueri registri menggunakan kode (versi kerangka kerja yang lebih lama)
Microsoft.Win32.RegistryKey Gunakan kelas untuk mengakses subkuncu HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP di registri Windows.
Penting
Jika aplikasi yang Anda jalankan adalah 32-bit dan berjalan di Windows 64-bit, jalur registri akan berbeda dari yang tercantum sebelumnya. Registri 32-bit tersedia di subkunci HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\. Misalnya, subkunci registri untuk .NET Framework 3.5 adalah HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5.
Contoh berikut menemukan versi .NET Framework 1-4 yang diinstal:
// Open the registry key for the .NET Framework entry. Dispose this object when done.
RegistryKey ndpKey =
RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32)
.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\");
foreach (string versionKeyName in ndpKey.GetSubKeyNames())
{
// Skip .NET Framework 4.5 version information.
if (versionKeyName == "v4")
continue;
if (versionKeyName.StartsWith("v"))
{
RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName);
// Get the .NET Framework version value.
string name = versionKey.GetValue("Version", "").ToString();
// Get the service pack (SP) number.
string sp = versionKey.GetValue("SP", "").ToString();
// Get the installation flag.
string install = versionKey.GetValue("Install", "").ToString();
if (string.IsNullOrEmpty(install))
{
// No install info; it must be in a child subkey.
Console.WriteLine($"{versionKeyName} {name}");
}
else if (install == "1")
{
// Install = 1 means the version is installed.
if (!string.IsNullOrEmpty(sp))
Console.WriteLine($"{versionKeyName} {name} SP{sp}");
else
Console.WriteLine($"{versionKeyName} {name}");
}
if (!string.IsNullOrEmpty(name))
{
versionKey.Dispose();
continue;
}
// Iterate through the subkeys of the version subkey.
foreach (string subKeyName in versionKey.GetSubKeyNames())
{
RegistryKey subKey = versionKey.OpenSubKey(subKeyName);
name = subKey.GetValue("Version", "").ToString();
if (!string.IsNullOrEmpty(name))
sp = subKey.GetValue("SP", "").ToString();
install = subKey.GetValue("Install", "").ToString();
if (string.IsNullOrEmpty(install))
{
// No install info; it must be later.
Console.WriteLine($" {versionKeyName} {name}");
}
else if (install == "1")
{
if (!string.IsNullOrEmpty(sp))
Console.WriteLine($" {subKeyName} {name} SP{sp}");
else
Console.WriteLine($" {subKeyName} {name}");
}
// Clean up the subkey object.
subKey.Dispose();
}
versionKey.Dispose();
}
}
ndpKey.Dispose();
' Open the registry key for the .NET Framework entry. Dispose this object when done.
Dim ndpKey As RegistryKey =
RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32) _
.OpenSubKey("SOFTWARE\Microsoft\NET Framework Setup\NDP\")
For Each versionKeyName In ndpKey.GetSubKeyNames()
' Skip .NET Framework 4.5 and later.
If versionKeyName = "v4" Then Continue For
If versionKeyName.StartsWith("v") Then
Dim versionKey As RegistryKey = ndpKey.OpenSubKey(versionKeyName)
' Get the .NET Framework version value.
Dim name = versionKey.GetValue("Version", "").ToString()
' Get the service pack (SP) number.
Dim sp = versionKey.GetValue("SP", "").ToString()
Dim install = versionKey.GetValue("Install", "").ToString()
If String.IsNullOrEmpty(install) Then
' No install info; it must be in a child subkey.
Console.WriteLine($"{versionKeyName} {name}")
ElseIf install = "1" Then
' Install = 1 means the version is installed.
If Not String.IsNullOrEmpty(sp) Then
Console.WriteLine($"{versionKeyName} {name} SP{sp}")
Else
Console.WriteLine($"{versionKeyName} {name}")
End If
End If
If Not String.IsNullOrEmpty(name) Then
versionKey.Dispose()
Continue For
End If
' Iterate through the subkeys of the version subkey.
For Each subKeyName In versionKey.GetSubKeyNames()
Dim subKey As RegistryKey = versionKey.OpenSubKey(subKeyName)
name = subKey.GetValue("Version", "").ToString()
If Not String.IsNullOrEmpty(name) Then
sp = subKey.GetValue("SP", "").ToString()
End If
install = subKey.GetValue("Install", "").ToString()
If String.IsNullOrEmpty(install) Then
' No install info; it must be later.
Console.WriteLine($" {versionKeyName} {name}")
ElseIf install = "1" Then
If Not String.IsNullOrEmpty(sp) Then
Console.WriteLine($" {subKeyName} {name} SP{sp}")
Else
Console.WriteLine($" {subKeyName} {name}")
End If
End If
' Clean up the subkey object.
subKey.Dispose()
Next
versionKey.Dispose()
End If
Next
ndpKey.Dispose()
Contoh menampilkan output yang mirip dengan yang berikut ini:
v2.0.50727 2.0.50727.4927 SP2
v3.0 3.0.30729.4926 SP2
v3.5 3.5.30729.4926 SP1
v4.0
Client 4.0.0.0
Mengkueri registri menggunakan PowerShell (versi kerangka kerja yang lebih lama)
Contoh berikut menggunakan PowerShell untuk memeriksa nilai entri Rilis di registri untuk menemukan versi .NET Framework 1-4 yang diinstal:
Get-ChildItem -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' |
Where-Object { ($_.PSChildName -ne "v4") -and ($_.PSChildName -like 'v*') } |
ForEach-Object {
$name = $_.Version
$sp = $_.SP
$install = $_.Install
if (-not $install) {
Write-Host -Object "$($_.PSChildName) $($name)"
}
elseif ($install -eq '1') {
if (-not $sp) {
Write-Host -Object "$($_.PSChildName) $($name)"
}
else {
Write-Host -Object "$($_.PSChildName) $($name) SP$($sp)"
}
}
if (-not $name) {
$parentName = $_.PSChildName
Get-ChildItem -LiteralPath $_.PSPath |
Where-Object {
if ($_.Property -contains 'Version') { $name = $((Get-ItemProperty -Path "Registry::$_").Version) }
if ($name -and ($_.Property -contains 'SP')) { $sp = $((Get-ItemProperty -Path "Registry::$_").SP) }
if ($_.Property -contains 'Install') { $install = $((Get-ItemProperty -Path "Registry::$_").Install) }
if (-not $install) {
Write-Host -Object " $($parentName) $($name)"
}
elseif ($install -eq '1') {
if (-not $sp) {
Write-Host -Object " $($_.PSChildName) $($name)"
}
else {
Write-Host -Object " $($_.PSChildName) $($name) SP$($sp)"
}
}
}
}
}
Menemukan versi CLR
.NET Framework CLR yang diinstal dengan .NET Framework di-versi secara terpisah. Ada dua cara untuk mendeteksi versi .NET Framework CLR:
Alat Clrver.exe
Gunakan alat Versi CLR (Clrver.exe) untuk menentukan versi CLR mana yang diinstal di komputer. Buka Perintah Pengembang Visual Studio atau Visual Studio Developer PowerShell dan masukkan clrver.
Contoh output:
Versions installed on the machine:
v2.0.50727
v4.0.30319
Properti Environment.Version
Penting
Untuk .NET Framework 4.5 dan versi yang lebih baru, jangan gunakan Environment.Version properti untuk mendeteksi versi CLR. Sebagai gantinya, kueri registri seperti yang dijelaskan dalam .NET Framework 4.5 dan versi yang lebih baru.
Gunakan properti Environment.Version untuk mengambil objek Version.
Objek yang dikembalikan
System.Versionmengidentifikasi versi runtime yang saat ini menjalankan kode. Ini tidak mengembalikan versi rakitan atau versi runtime lainnya yang mungkin telah diinstal di komputer.Untuk .NET Framework versi 4, 4.5, 4.5.1, dan 4.5.2, representasi string dari objek yang dikembalikan Version memiliki formulir 4.0.30319.xxxxx, di mana xxxxx kurang dari 42000. Untuk .NET Framework 4.6 dan versi yang lebih baru, ia memiliki formulir 4.0.30319.42000.
Setelah Anda memiliki objek Versi , kueri sebagai berikut:
- Untuk pengidentifikasi rilis utama (misalnya, 4 untuk versi 4.0), gunakan Version.Major properti .
- Untuk pengidentifikasi rilis minor (misalnya, 0 untuk versi 4.0), gunakan Version.Minor properti .
- Untuk seluruh string versi (misalnya, 4.0.30319.18010), gunakan Version.ToString metode . Metode ini mengembalikan nilai tunggal yang mencerminkan versi runtime yang menjalankan kode. Ini tidak mengembalikan versi rakitan atau versi runtime lain yang mungkin diinstal di komputer.
Contoh berikut menggunakan Environment.Version properti untuk mengambil informasi versi CLR:
Console.WriteLine($"Version: {Environment.Version}");
Console.WriteLine($"Version: {Environment.Version}")
Contoh menampilkan output yang mirip dengan yang berikut ini:
Version: 4.0.30319.18010