Postupy: Určení nainstalovaných verzí rozhraní .NET Framework

Poznámka:

Tento článek je specifický pro rozhraní .NET Framework. Pokud chcete zjistit, které sady SDK a moduly runtime .NET Core a .NET 5+ jsou nainstalované, přečtěte si, jak zkontrolovat, jestli už je .NET nainstalovaný.

V počítači můžete nainstalovat a spustit více verzí rozhraní .NET Framework.

  • Pokud chcete zkontrolovat verze na vlastním počítači, nejjednodušší způsob je Ovládací panely> Programs>Programy a funkce nebo v Nastavení v části Aplikace>nainstalované aplikace. Tyto nástroje spravované komunitou můžete použít také.
  • Pokud jste vývojář aplikací, možná budete muset vědět, které verze rozhraní .NET Framework jsou nainstalované na počítači uživatele aplikace. Registr obsahuje seznam verzí rozhraní .NET Framework nainstalovaných v počítači. Můžete také zadat dotaz na RuntimeInformation.FrameworkDescription vlastnost.
  • Informace o verzi CLR, která je verze zvlášť, najdete v tématu Vyhledání verzí CLR.

Rozhraní .NET Framework se skládá ze dvou hlavních komponent, které jsou verze zvlášť:

  • Sada sestavení, což jsou kolekce typů a prostředků, které poskytují funkce pro vaše aplikace. Rozhraní .NET Framework a sestavení sdílejí stejné číslo verze. Například verze rozhraní .NET Framework zahrnují verze 4.5, 4.6.1 a 4.7.2.
  • Modul CLR (Common Language Runtime), který spravuje a spouští kód vaší aplikace. Jedna verze CLR obvykle podporuje více verzí rozhraní .NET Framework. Například CLR verze 4.0.30319.xxxxx , kde xxxxx je menší než 42000, podporuje rozhraní .NET Framework verze 4 až 4.5.2. Verze CLR vyšší nebo rovna 4.0.30319.42000 podporuje verze rozhraní .NET Framework počínaje rozhraním .NET Framework 4.6.

Tip

Informace o zjišťování nainstalovaných aktualizací pro každou verzi rozhraní .NET Framework naleznete v tématu Postupy: Určení nainstalovaných aktualizací rozhraní .NET Framework.

Nástroje spravované komunitou

K dispozici jsou nástroje spravované komunitou, které pomáhají zjistit, které verze rozhraní .NET Framework jsou nainstalované:

RuntimeInformation.FrameworkDescription Vlastnost

Pokud chcete prostřednictvím kódu programu zadat dotaz na verzi .NET, na které je vaše aplikace spuštěná, můžete tuto vlastnost použít RuntimeInformation.FrameworkDescription . Pokud je aplikace spuštěná v rozhraní .NET Framework, bude výstup podobný následujícímu:

.NET Framework 4.8.4250.0

Pokud je aplikace spuštěná v .NET Core nebo .NET 5 nebo novější, bude výstup vypadat přibližně takto:

.NET Core 3.1.9
.NET 5.0.0

Registr

Pomocí registru můžete zjistit, která verze rozhraní .NET Framework je nainstalovaná. Klíče se liší pro rozhraní .NET Framework 1.0-4.0 a .NET Framework 4.5 nebo novější. Ke kontrole registru můžete použít Editor registru, PowerShell nebo kód.

.NET Framework 4.5 a novější verze

Verze rozhraní .NET Framework (4.5 a novější) nainstalovaná na počítači je uvedená v registru na adrese HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. Pokud chybí úplný podklíč, rozhraní .NET Framework 4.5 nebo vyšší není nainstalováno.

Poznámka:

Podklíč instalace rozhraní NET Framework v cestě registru nezačíná tečkou.

Hodnota release REG_DWORD v registru představuje verzi nainstalované rozhraní .NET Framework.

Verze rozhraní .NET Framework Hodnota vydané verze
.NET Framework 4.5 Všechny operační systémy Windows: 378389
.NET Framework 4.5.1 Ve Windows 8.1 a Windows Serveru 2012 R2: 378675
Ve všech ostatních operačních systémech Windows: 378758
.NET Framework 4.5.2 Všechny operační systémy Windows: 379893
.NET Framework 4.6 Ve Windows 10: 393295
Ve všech ostatních operačních systémech Windows: 393297
.NET Framework 4.6.1 V listopadových aktualizačních systémech Windows 10: 394254
Ve všech ostatních operačních systémech Windows (včetně Windows 10): 394271
.NET Framework 4.6.2 Ve Windows 10 Anniversary Update a Windows Serveru 2016: 394802
Ve všech ostatních operačních systémech Windows (včetně ostatních operačních systémů Windows 10): 394806
.NET Framework 4.7 Ve Windows 10 Creators Update: 460798
Ve všech ostatních operačních systémech Windows (včetně jiných operačních systémů Windows 10): 460805
.NET Framework 4.7.1 Ve Windows 10 Fall Creators Update a Windows Serveru verze 1709: 461308
Ve všech ostatních operačních systémech Windows (včetně ostatních operačních systémů Windows 10): 461310
.NET Framework 4.7.2 Windows 10 April 2018 Update a Windows Server verze 1803: 461808
Ve všech operačních systémech Windows kromě Windows 10 z dubna 2018 Update a Windows Server verze 1803: 461814
.NET Framework 4.8 Aktualizace Aktualizace Windows 10 z května 2019 a Windows 10 z listopadu 2019: 528040
Aktualizace z 10. května 2020, aktualizace z října 2020, aktualizace z května 2021, aktualizace z listopadu 2021 a aktualizace 2022: 528372
Ve Windows 11 a Windows Serveru 2022: 528449
Ve všech ostatních operačních systémech Windows (včetně jiných operačních systémů Windows 10): 528049
.NET Framework 4.8.1 Ve Windows 11 2022 Update a Windows 11 2023 Update: 533320
Všechny ostatní operační systémy Windows: 533325

Minimální verze

Pokud chcete zjistit, jestli je k dispozici minimální verze rozhraní .NET Framework, zkontrolujte hodnotu vydané verze REG_DWORD, která je větší nebo rovna odpovídající hodnotě uvedené v následující tabulce. Pokud například vaše aplikace běží v rozhraní .NET Framework 4.8 nebo novější verzi, otestujte pro verzi REG_DWORD hodnotu, která je větší nebo rovna 528040.

Verze rozhraní .NET Framework Minimální hodnota
.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

Použití Editoru registru

  1. V nabídce Start zvolte Spustit, zadejte regedit a pak vyberte OK.

    (Abyste mohli spustit regedit, musíte mít přihlašovací údaje správce.)

  2. V Editoru registru otevřete následující podklíč: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. Pokud není k dispozici úplný podklíč, nemáte nainstalované rozhraní .NET Framework 4.5 nebo novější.

  3. Zkontrolujte REG_DWORD položku s názvem Release. Pokud existuje, máte nainstalované rozhraní .NET Framework 4.5 nebo novější. Jeho hodnota odpovídá konkrétní verzi rozhraní .NET Framework. Na následujícím obrázku je například hodnota položky verze 528040, což je klíč verze pro rozhraní .NET Framework 4.8.

    Položka registru pro rozhraní .NET Framework 4.5

Použití PowerShellu ke kontrole minimální verze

Pomocí příkazů PowerShellu zkontrolujte hodnotu položky vydané verze HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full podklíč.

Následující příklady zkontrolují hodnotu položky vydané verze a zjistěte, zda je nainstalována rozhraní .NET Framework 4.6.2 nebo novější. Tento kód vrátí True , pokud je nainstalovaný a False jinak.

(Get-ItemPropertyValue -LiteralPath 'HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release) -ge 394802

Dotazování registru pomocí kódu

  1. RegistryKey.OpenBaseKey Pomocí metod a RegistryKey.OpenSubKey přístup k HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full podklíč v registru Windows.

    Důležité

    Pokud je spuštěná aplikace 32bitová a běží v 64bitovém Systému Windows, cesty registru se budou lišit od výše uvedených. 64bitový registr je k dispozici v podklíči HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ . Například podklíč registru pro rozhraní .NET Framework 4.5 je HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full.

  2. Zkontrolujte hodnotu REG_DWORD vydané verze a zjistěte nainstalovanou verzi. Pokud chcete být kompatibilní s předáváním, zkontrolujte hodnotu, která je větší nebo rovna hodnotě uvedené v tabulce verzí rozhraní .NET Framework.

Následující příklad zkontroluje hodnotu položky vydané verze v registru a vyhledá verze rozhraní .NET Framework 4.5-4.8.1, které jsou nainstalovány.

Tip

Pokud jste to ještě neudělali, přidejte direktivu using Microsoft.Win32 nebo Imports Microsoft.Win32 na začátek souboru kódu.

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

V příkladu se zobrazí výstup podobný následujícímu:

.NET Framework Version: 4.6.1

Dotazování registru pomocí PowerShellu

Následující příklad pomocí PowerShellu zkontroluje hodnotu položky vydané verze v registru a vyhledá nainstalované verze rozhraní .NET Framework 4.5-4.8.1:

$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.'
}

Tento příklad se řídí doporučeným postupem kontroly verzí:

  • Zkontroluje, jestli je hodnota položky vydané verze větší nebo rovna hodnotě známých klíčů verze.
  • Kontroluje v pořadí od nejnovější verze po nejstarší verzi.

.NET Framework 1.0-4.0

Každá verze rozhraní .NET Framework od 1.1 do 4.0 je uvedena jako podklíč v HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP. Následující tabulka uvádí cestu ke každé verzi rozhraní .NET Framework. U většiny verzí existuje hodnota 1 instalace REG_DWORD označující, že je tato verze nainstalovaná. V těchto podklíčích je také hodnota verze REG_SZ, která obsahuje řetězec verze.

Poznámka:

Podklíč instalace rozhraní NET Framework v cestě registru nezačíná tečkou.

Verze architektury Podklíč registru Hodnota
1.0 HKLM\Software\Microsoft\. NETFramework\Policy\v1.0\3705 Instalace REG_SZ se rovná 1
1,1 HKLM\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322 Instalace REG_DWORD rovná se 1
2.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 Instalace REG_DWORD rovná se 1
3,0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup InstallSuccess REG_DWORD rovná se 1
3.5 HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5 Instalace REG_DWORD rovná se 1
4.0 Profil klienta HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client Instalace REG_DWORD rovná se 1
4.0 Úplný profil uživatele HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full Instalace REG_DWORD rovná se 1

Důležité

Pokud je spuštěná aplikace 32bitová a běží v 64bitovém Systému Windows, cesty registru se budou lišit od výše uvedených. 64bitový registr je k dispozici v podklíči HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ . Například podklíč registru pro rozhraní .NET Framework 3.5 je HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5.

Všimněte si, že cesta registru k podklíči rozhraní .NET Framework 1.0 se liší od ostatních.

Použití Editoru registru (starší verze rozhraní)

  1. V nabídce Start zvolte Spustit, zadejte regedit a pak vyberte OK.

    Abyste mohli spustit regedit, musíte mít přihlašovací údaje správce.

  2. Otevřete podklíč, který odpovídá verzi, kterou chcete zkontrolovat. Použijte tabulku v části .NET Framework 1.0-4.0 .

    Následující obrázek ukazuje podklíč a jeho hodnotu verze pro rozhraní .NET Framework 3.5.

    Položka registru pro rozhraní .NET Framework 3.5.

Dotazování registru pomocí kódu (starší verze rozhraní)

Microsoft.Win32.RegistryKey Pomocí třídy můžete získat přístup k podklíči HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP v registru Windows.

Důležité

Pokud je spuštěná aplikace 32bitová a běží v 64bitovém Systému Windows, cesty registru se budou lišit od výše uvedených. 64bitový registr je k dispozici v podklíči HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ . Například podklíč registru pro rozhraní .NET Framework 3.5 je HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5.

Následující příklad najde nainstalované verze rozhraní .NET Framework 1-4:

// 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

Příklad zobrazí výstup podobný následujícímu:

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

Dotazování registru pomocí PowerShellu (starší verze rozhraní)

Následující příklad pomocí PowerShellu zkontroluje hodnotu položky vydané verze v registru a vyhledá nainstalované verze rozhraní .NET Framework 1-4:

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)"
                }
            }
        }
    }
}

Vyhledání verzí CLR

ClR rozhraní .NET Framework nainstalované s rozhraním .NET Framework je verze zvlášť. Existují dva způsoby, jak zjistit verzi modulu CLR rozhraní .NET Framework:

Nástroj Clrver.exe

Pomocí nástroje CLR Version (Clrver.exe) určete, které verze modulu CLR jsou nainstalovány v počítači. Otevřete Visual Studio Developer Command Prompt nebo Visual Studio Developer PowerShell a zadejte clrver.

Ukázkový výstup:

Versions installed on the machine:
v2.0.50727
v4.0.30319

Vlastnost Environment.Version

Důležité

V rozhraní .NET Framework 4.5 a novějších verzích nepoužívejte Environment.Version vlastnost ke zjištění verze modulu CLR. Místo toho dotazujte registr, jak je popsáno v rozhraní .NET Framework 4.5 a novějších verzích.

  1. Zadejte dotaz na Environment.Version vlastnost pro načtení objektu Version .

    Vrácený System.Version objekt identifikuje verzi modulu runtime, který právě spouští kód. Nevrací verze sestavení ani jiné verze modulu runtime, které mohly být nainstalovány v počítači.

    Pro rozhraní .NET Framework verze 4, 4.5, 4.5.1 a 4.5.2 má řetězcová reprezentace vráceného Version objektu tvar 4.0.30319.xxxxx, kde xxxxx je menší než 42000. Pro rozhraní .NET Framework 4.6 a novější verze má formát 4.0.30319.42000.

  2. Jakmile budete mít objekt Version , zadejte dotaz následujícím způsobem:

    • Pro identifikátor hlavní verze (například 4 pro verzi 4.0) použijte Version.Major vlastnost.
    • Pro identifikátor podverze (například 0 pro verzi 4.0) použijte Version.Minor vlastnost.
    • Pro celý řetězec verze (například 4.0.30319.18010) použijte metodu Version.ToString . Tato metoda vrátí jednu hodnotu, která odráží verzi modulu runtime, který spouští kód. Nevrací verze sestavení ani jiné verze modulu runtime, které mohou být nainstalovány v počítači.

Následující příklad používá Environment.Version vlastnost k načtení informací o verzi CLR:

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

Příklad zobrazí výstup podobný následujícímu:

Version: 4.0.30319.18010

Viz také