Cara: Menentukan versi .NET Framework mana yang diinstal

Catatan

Artikel ini khusus untuk .NET Framework. Untuk menentukan .NET Core dan .NET 5+ SDK dan runtime mana yang diinstal, baca Cara memeriksa apakah .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 melalui Program dan Fitur Panel Kontrol> Program>, atau di Pengaturan di bawah Aplikasi> yang Diinstal. 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 mengkueri RuntimeInformation.FrameworkDescription properti .
  • Untuk menemukan versi CLR, yang di-versi secara terpisah, lihat Menemukan versi CLR.

.NET Framework terdiri dari dua komponen utama, yang diversikan secara terpisah:

  • Kumpulan 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 menyertakan 4.5, 4.6.1, dan 4.7.2.
  • Runtime bahasa umum (CLR), yang mengelola dan mengeksekusi kode aplikasi Anda. Versi CLR tunggal 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 baru 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:

Properti RuntimeInformation.FrameworkDescription

Untuk mengkueri secara terprogram versi .NET tempat aplikasi Anda berjalan, Anda dapat menggunakan RuntimeInformation.FrameworkDescription properti . Jika aplikasi berjalan di .NET Framework, hasilnya akan mirip dengan:

.NET Framework 4.8.4250.0

Sebagai perbandingan, jika aplikasi berjalan di .NET Core atau .NET 5+, hasilnya akan mirip dengan:

.NET Core 3.1.9
.NET 5.0.0

Registri

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, berarti .NET Framework 4.5 atau yang lebih baru tidak diinstal.

Catatan

Subkunci NET Framework Setup di jalur registri tidak dimulai dengan titik.

Nilai Release REG_DWORD di registri menunjukkan versi .NET Framework yang diinstal.

Versi .NET Framework Nilai Release
.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 Pembaruan 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 Pembaruan Windows 10 Mei 2019 dan 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 2022 dan Pembaruan Windows 11 2023: 533320
Semua sistem operasi Windows lainnya: 533325

Versi minimum

Untuk menentukan apakah ada versi minimum .NET Framework, periksa nilai Release REG_DWORD yang lebih besar 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 Release 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

  1. Dari menu Mulai, pilih Jalankan, masukkan regedit, lalu pilih OK.

    (Anda harus memiliki kredensial administratif untuk menjalankan regedit.)

  2. Di Editor Registri, buka subkunci berikut: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. Jika subkunci Full tidak ada, berarti Anda belum menginstal .NET Framework 4.5 atau versi yang lebih baru.

  3. Periksa entri REG_DWORD bernama Release. Jika sudah ada, berarti Anda telah menginstal .NET Framework 4.5 atau versi yang lebih baru. Nilainya sesuai dengan versi .NET Framework tertentu. Pada gambar berikut, misalnya, nilai entri Release adalah 528040, yang merupakan kunci rilis untuk .NET Framework 4.8.

    Entri registri untuk .NET Framework 4.5

Gunakan PowerShell untuk memeriksa versi minimum

Gunakan perintah PowerShell untuk memeriksa nilai entri Release dari subkunci HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full.

Contoh berikut memeriksa nilai entri Release untuk menentukan apakah .NET Framework 4.6.2 atau versi 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

Kueri registri menggunakan kode

  1. 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 terdaftar sebelumnya. Registri 64-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.

  2. Periksa nilai Release REG_DWORD untuk menentukan versi yang diinstal. Agar kompatibel dengan penerusan, 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 arahan 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 (var ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).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 ndpKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).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
    If releaseKey >= 533320 Then
        Return "4.8.1 or later"
    ElseIf releaseKey >= 528040 Then
        Return "4.8"
    ElseIf releaseKey >= 461808 Then
        Return "4.7.2"
    ElseIf releaseKey >= 461308 Then
        Return "4.7.1"
    ElseIf releaseKey >= 460798 Then
        Return "4.7"
    ElseIf releaseKey >= 394802 Then
        Return "4.6.2"
    ElseIf releaseKey >= 394254 Then
        Return "4.6.1"
    ElseIf releaseKey >= 393295 Then
        Return "4.6"
    ElseIf releaseKey >= 379893 Then
        Return "4.5.2"
    ElseIf releaseKey >= 378675 Then
        Return "4.5.1"
    ElseIf releaseKey >= 378389 Then
        Return "4.5"
    End If
    ' 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"
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 disarankan untuk pemeriksaan versi:

  • Cara ini memeriksa apakah nilai entri Releaselebih besar dari atau sama dengan nilai kunci rilis yang diketahui.
  • Entri ini memeriksa secara berurutan dari versi terbaru ke versi paling lama.

.NET Framework 1.0-4.0

Setiap versi .NET Framework dari 1.1 hingga 4.0 terdaftar sebagai subkunci 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 1 untuk menunjukkan bahwa versi ini telah diinstal. Dalam subkunci ini, ada juga nilai Version REG_SZ yang berisi string versi.

Catatan

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 Install REG_SZ equals 1
1.1 HKLM\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322 Install REG_DWORD equals 1
2.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 Install REG_DWORD equals 1
3.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup InstallSuccess REG_DWORD equals 1
3.5 HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5 Install REG_DWORD equals 1
Profil Klien 4.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client Install REG_DWORD equals 1
Profil Lengkap 4.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full Install REG_DWORD equals 1

Penting

Jika aplikasi yang Anda jalankan adalah 32-bit dan berjalan di Windows 64-bit, jalur registri akan berbeda dari yang terdaftar sebelumnya. Registri 64-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.

Gunakan Editor Registri (versi kerangka kerja yang lebih lama)

  1. Dari menu Mulai, pilih Jalankan, masukkan regedit, lalu pilih OK.

    Anda harus memiliki kredensial administratif untuk menjalankan regedit.

  2. Buka subkunci yang cocok dengan versi yang ingin Anda periksa. Gunakan tabel di bagian .NET Framework 1.0-4.0 .

    Gambar berikut menunjukkan subkunci dan nilai Version untuk .NET Framework 3.5.

    Entri registri untuk .NET Framework 3.5.

Kueri registri menggunakan kode (versi kerangka kerja yang lebih lama)

Gunakan kelas Microsoft.Win32.RegistryKey untuk mengakses subkunci 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 terdaftar sebelumnya. Registri 64-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.
using (RegistryKey ndpKey =
        RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).
        OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
{
    foreach (var 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.
            var name = (string)versionKey.GetValue("Version", "");
            // Get the service pack (SP) number.
            var sp = versionKey.GetValue("SP", "").ToString();

            // Get the installation flag.
            var 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))
            {
                continue;
            }
            // else print out info from subkeys...

            // Iterate through the subkeys of the version subkey.
            foreach (var subKeyName in versionKey.GetSubKeyNames())
            {
                RegistryKey subKey = versionKey.OpenSubKey(subKeyName);
                name = (string)subKey.GetValue("Version", "");
                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}");
                    }
                }
            }
        }
    }
}
' Opens the registry key for the .NET Framework entry.
Using 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 = DirectCast(versionKey.GetValue("Version", ""), String)
            ' 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

                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
                Continue For
            End If

            For Each subKeyName In versionKey.GetSubKeyNames()
                Dim subKey As RegistryKey = versionKey.OpenSubKey(subKeyName)
                name = DirectCast(subKey.GetValue("Version", ""), String)
                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
            Next
        End If
    Next
End Using

Contoh ini menampilkan output yang mirip dengan 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-ItemPropertyValue -Path $_.PSPath -Name Version }
            if ($name -and ($_.Property -contains 'SP')) { $sp = Get-ItemPropertyValue -Path $_.PSPath -Name SP }
            if ($_.Property -contains 'Install') { $install = Get-ItemPropertyValue -Path $_.PSPath -Name 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 diversikan 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 pada komputer. Buka Perintah Pengembang Visual Studio atau PowerShell Pengembang Visual Studio 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 properti Environment.Version untuk mendeteksi versi CLR. Sebagai gantinya, kueri registri seperti yang dijelaskan dalam .NET Framework 4.5 dan versi yang lebih baru.

  1. Kueri properti Environment.Version untuk mengambil objek Version.

    Objek System.Version yang dikembalikan mengidentifikasi versi waktu proses yang saat ini menjalankan kode. Objek tersebut tidak mengembalikan versi rakitan atau versi runtime lain yang mungkin telah diinstal di komputer.

    Untuk .NET Framework versi 4, 4.5, 4.5.1, dan 4.5.2, representasi string dari objek Version yang dikembalikan memiliki bentuk 4.0.30319.xxxxx, ketika xxxxx kurang dari 42000. Untuk .NET Framework 4.6 dan versi yang lebih baru, objek tersebut memiliki bentuk 4.0.30319.42000.

  2. Setelah Anda memiliki objek Version, kueri objek tersebut sebagai berikut:

    • Untuk pengenal rilis utama (misalnya, 4 untuk versi 4.0), gunakan properti Version.Major.
    • Untuk pengenal rilis minor (misalnya, 0 untuk versi 4.0), gunakan properti Version.Minor.
    • Untuk seluruh string versi (misalnya, 4.0.30319.18010), gunakan metode Version.ToString. Metode ini mengembalikan nilai tunggal yang mencerminkan versi runtime yang mengeksekusi kode. Metode ini tidak mengembalikan versi rakitan atau versi runtime lain yang mungkin diinstal di komputer.

Contoh berikut menggunakan properti Environment.Version untuk mengambil informasi versi CLR:

Console.WriteLine($"Version: {Environment.Version}");
Console.WriteLine($"Version: {Environment.Version}")

Contoh ini menampilkan output yang mirip dengan berikut ini:

Version: 4.0.30319.18010

Lihat juga