Sdílet prostřednictvím


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šší je použítprogramy>a funkce> nebo v části Nastavení>nainstalovaných aplikací. 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á má samostatné číslování, najdete v tématu Vyhledání verzí CLR.

Rozhraní .NET Framework se skládá ze dvou hlavních komponent, které jsou verzovány samostatně.

  • Sada sestavení, což jsou kolekce typů a prostředků, které poskytují funkcionalitu pro vaše aplikace. Rozhraní .NET 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.

Návod

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

Registry

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 v 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íč nastavení 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 Release
.NET Framework 4.5 Všechny operační systémy Windows: 378389
.NET Framework 4.5.1 Ve Windows 8.1 a ve Windows 2012 R2 Serveru: 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 ve Windows Server 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 aktualizace z dubna 2018 a Windows Server verze 1803: 461808
Ve všech operačních systémech Windows kromě Windows 10 z dubna 2018 Update a Windows Serveru verze 1803: 461814
.NET Framework 4.8 Aktualizace Windows 10 z května 2019 a Windows 10 z listopadu 2019: 528040
Ve Windows 10, aktualizace z května 2020, října 2020, května 2021, listopadu 2021 a 2022: 528372
Ve Windows 11 a Windows Server 2022: 528449
Ve všech ostatních operačních systémech Windows (včetně ostatních operačních systémů Windows 10): 528049
.NET Framework 4.8.1 Ve Windows 11 2025 Update: 533509
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 verzi REG_DWORD hodnoty , která je vyšší 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 Release 528040, což je klíč vydání pro rozhraní .NET Framework 4.8.

    Snímek obrazovky s nástrojem RegEdit zobrazující položku registru pro rozhraní .NET Framework 4.5

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

Pomocí příkazů PowerShell zjistěte hodnotu položky Release podklíče HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full.

Následující příklady zkontrolují hodnotu položky Release a zjistí, zda je nainstalováno rozhraní .NET Framework 4.6.2 nebo novější. Tento kód vrátí True, pokud je nainstalováno, 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 a RegistryKey.OpenSubKey použijte metody pro přístup k podklíči HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full v registru systému 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. 32bitový 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 budoucími verzemi, zkontrolujte, zda je hodnota rovna nebo větší než hodnota 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.

Návod

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

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é verzevětší nebo rovna hodnotě známých hodnot vydané 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 REG_DWORD 'Install' s hodnotou 1, která naznačuje, že je tato verze nainstalována. V těchto podklíčích je také hodnota REG_SZ Version, která obsahuje řetězec verze.

Poznámka:

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

Verze frameworku Podklíč registru Hodnota
1.0 HKLM\Software\Microsoft\. NETFramework\Policy\v1.0\3705 Nainstalovat REG_SZ se rovná 1
1.1 HKLM\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322 Nainstalovat REG_DWORD se rovná 1
2.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 Nainstalovat REG_DWORD se rovná 1
3.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup InstallSuccess REG_DWORD se rovná 1
3.5 HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5 Nainstalovat REG_DWORD se rovná 1
4.0 Profil klienta HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client Nainstalovat REG_DWORD se rovná 1
4.0 Úplný profil uživatele HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full Nainstalovat REG_DWORD se rovná 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. 32bitový 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.

    Snímek obrazovky nástroje RegEdit zobrazující položku registru pro rozhraní .NET Framework 3.5

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

Microsoft.Win32.RegistryKey Použijte třídu k přístupu k podklíči HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP v registru systému 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. 32bitový 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. 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()

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

Vyhledání verzí CLR

CLR Framework .NET nainstalovaný s Frameworkem .NET je verzován samostatně. 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 vlastnost Version.Minor.
    • 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. Nezobrazuje verze sestavení ani jiné verze prostředí runtime, které mohou být nainstalovány na 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é