Gewusst wie: Bestimmen der installierten .NET Framework-VersionenHow to: Determine Which .NET Framework Versions Are Installed

Benutzer können mehrere Versionen von .NET Framework auf einem Computer installieren und ausführen.Users can install and run multiple versions of the .NET Framework on their computers. Wenn Sie eine App entwickeln oder bereitstellen, müssen Sie möglicherweise herausfinden, welche Versionen von .NET Framework auf dem Computer des Benutzers installiert sind.When you develop or deploy your app, you might need to know which .NET Framework versions are installed on the user’s computer. Beachten Sie, dass .NET Framework aus zwei Hauptkomponenten besteht, deren Versionen separat voneinander sind:Note that the .NET Framework consists of two main components, which are versioned separately:

  • Ein Satz von Assemblys, bei denen es sich um Sammlungen von Typen und Ressourcen handelt, die die Funktionalität Ihre Apps bereitstellen.A set of assemblies, which are collections of types and resources that provide the functionality for your apps. .NET Framework und Assemblys verwenden die gleiche Versionsnummer.The .NET Framework and assemblies share the same version number.

  • Die CLR (Common Language Runtime, CLR), die den Code Ihrer App verwaltet und ausführt.The common language runtime (CLR), which manages and executes your app's code. Die CLR wird durch ihre eigene Versionsnummer identifiziert (siehe Versionen und Abhängigkeiten).The CLR is identified by its own version number (see Versions and Dependencies).

Sie können die Registrierung öffnen oder in Ihrem Code abfragen, um eine exakte Liste der auf einem Computer installierten Versionen von .NET Framework zu erhalten:To get an accurate list of the .NET Framework versions installed on a computer, you can view the registry or query the registry in code:

Anzeigen der Registrierung (Versionen 1-4)Viewing the registry (versions 1-4)
Anzeigen der Registrierung ( Version 4.5 und neuer)Viewing the registry (version 4.5 and later)
Codegesteuertes Anzeigen der Registrierung (Versionen 1-4)Using code to query the registry (versions 1-4)
Codegesteuertes Anzeigen der Registrierung (Version 4.5 und neuer)Using code to query the registry (version 4.5 and later)
Anzeigen der Registrierung mithilfe von PowerShell (Version 4.5 und neuer)Using PowerShell to query the registry (version 4.5 and later)

Sie können ein Tool oder Code verwenden, um die CLR-Version zu ermitteln:To find the CLR version, you can use a tool or code:

Verwenden des Clrver-ToolsUsing the Clrver tool
Codegesteuertes Abfragen der System.Environment-KlasseUsing code to query the System.Environment class

Informationen zum Ermitteln der installierten Updates für jede Version von .NET Framework finden Sie unter Gewusst wie: Bestimmen der installierten .NET Framework-Updates.For information about detecting the installed updates for each version of the .NET Framework, see How to: Determine Which .NET Framework Updates Are Installed. Informationen zum Installieren von .NET Framework finden Sie unter Install the .NET Framework for developers (Installieren von .NET Framework für Entwickler).For information about installing the .NET Framework, see Install the .NET Framework for developers.

Ermitteln der .NET Framework-Versionen durch Anzeigen der Registrierung (.NET Framework 1-4)To find .NET Framework versions by viewing the registry (.NET Framework 1-4)

  1. Klicken Sie im Menü Start auf Ausführen.On the Start menu, choose Run.

  2. Im Feld Öffnen geben Sie regedit.exe ein.In the Open box, enter regedit.exe.

    Sie müssen über Administratorrechte verfügen, um regedit.exe ausführen zu können.You must have administrative credentials to run regedit.exe.

  3. Öffnen Sie im Registrierungs-Editor den folgenden Unterschlüssel:In the Registry Editor, open the following subkey:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

    Die installierten Versionen werden unter dem NDP-Unterschlüssel aufgeführt.The installed versions are listed under the NDP subkey. Die Versionsnummer ist unter dem Eintrag Version gespeichert.The version number is stored in the Version entry. In der .NET Framework 4.NET Framework 4-Version oder höher befindet sich der Eintrag Version unter dem Client- oder Full-Unterschlüssel (unter NDP) oder unter beiden Unterschlüsseln.For the .NET Framework 4.NET Framework 4 the Version entry is under the Client or Full subkey (under NDP), or under both subkeys.

    Hinweis

    Der Ordner "NET Framework Setup" in der Registrierung beginnt nicht mit einem Punkt.The "NET Framework Setup" folder in the registry does not begin with a period.

Ermitteln der .NET Framework-Versionen durch Anzeigen der Registrierung (.NET Framework 4.5 und neuer)To find .NET Framework versions by viewing the registry (.NET Framework 4.5 and later)

  1. Klicken Sie im Menü Start auf Ausführen.On the Start menu, choose Run.

  2. Im Feld Öffnen geben Sie regedit.exe ein.In the Open box, enter regedit.exe.

    Sie müssen über Administratorrechte verfügen, um regedit.exe ausführen zu können.You must have administrative credentials to run regedit.exe.

  3. Öffnen Sie im Registrierungs-Editor den folgenden Unterschlüssel:In the Registry Editor, open the following subkey:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full

    Beachten Sie, dass der Pfad zum Full-Unterschlüssel den Unterschlüssel Net Framework anstelle von .NET Framework enthält.Note that the path to the Full subkey includes the subkey Net Framework rather than .NET Framework.

    Hinweis

    Wenn der Full-Unterschlüssel nicht vorhanden ist, ist .NET Framework 4.5 oder höher nicht installiert.If the Full subkey is not present, then you do not have the .NET Framework 4.5 or later installed.

    Suchen Sie nach einem DWORD-Wert mit dem Namen Release.Check for a DWORD value named Release. Wenn das Release-DWORD vorhanden ist, können Sie von der Installation von .NET Framework 4.5.NET Framework 4.5 oder höher auf dem Computer ausgehen.The existence of the Release DWORD indicates that the .NET Framework 4.5.NET Framework 4.5 or newer has been installed on that computer.

    Registrierungseintrag für .NET Framework 4.5The registry entry for the .NET Framework 4.5.

    Der Wert von Release gibt an, welche Version von .NET Framework installiert ist.The value of the Release DWORD indicates which version of the .NET Framework is installed.

    Wert des Versions-DWORDValue of the Release DWORD VersionVersion
    378389378389 .NET Framework 4.5.NET Framework 4.5
    378675378675 .NET Framework 4.5.1 installiert mit Windows 8.1 oder Windows Server 2012 R2.NET Framework 4.5.1 installed with Windows 8.1 or Windows Server 2012 R2
    378758378758 .NET Framework 4.5.1 installiert unter Windows 8, Windows 7 SP1 oder Windows Vista SP2.NET Framework 4.5.1 installed on Windows 8, Windows 7 SP1, or Windows Vista SP2
    379893379893 .NET Framework 4.5.2.NET Framework 4.5.2
    Auf Systemen unter Windows 10: 393295On Windows 10 systems: 393295

    Auf allen anderen Betriebssystemversionen: 393297On all other OS versions: 393297
    .NET Framework 4.6.NET Framework 4.6
    Auf Systemen mit Windows 10, November-Update: 394254On Windows 10 November Update systems: 394254

    Auf allen anderen Betriebssystemversionen: 394271On all other OS versions: 394271
    .NET Framework 4.6.1.NET Framework 4.6.1
    Auf Systemen unter Windows 10 Anniversary Update: 394802On Windows 10 Anniversary Update: 394802

    Auf allen anderen Betriebssystemversionen: 394806On all other OS versions: 394806
    .NET Framework 4.6.2.NET Framework 4.6.2
    Auf Systemen unter Windows 10 Creators Update: 460798On Windows 10 Creators Update: 460798

    Auf allen anderen Betriebssystemversionen: 460805On all other OS versions: 460805
    .NET Framework 4.7.NET Framework 4.7
    Unter Windows 10 fallen Ersteller Update: 461308On Windows 10 Fall Creators Update: 461308

    Auf allen anderen Betriebssystemversionen: 461310On all other OS versions: 461310
    .NET Framework 4.7.1.NET Framework 4.7.1

Ermitteln der .NET Framework-Versionen durch codegesteuertes Abfragen der Registrierung (.NET Framework 1-4)To find .NET Framework versions by querying the registry in code (.NET Framework 1-4)

  • Verwenden Sie die Microsoft.Win32.RegistryKey-Klasse, um auf den Unterschlüssel "Software\Microsoft\NET Framework Setup\NDP" unter "HKEY_LOCAL_MACHINE" in der Windows-Registrierung zuzugreifen.Use the Microsoft.Win32.RegistryKey class to access the Software\Microsoft\NET Framework Setup\NDP\ subkey under HKEY_LOCAL_MACHINE in the Windows registry.

    Der folgende Code veranschaulicht diese Abfrage beispielhaft.The following code shows an example of this query.

    Hinweis

    In diesem Code wird nicht veranschaulicht, wie .NET Framework 4.5.NET Framework 4.5 oder später zu erkennen ist.This code does not show how to detect the .NET Framework 4.5.NET Framework 4.5 or later. Zum Erkennen dieser Versionen überprüfen Sie das Release-DWORD, wie im vorherigen Abschnitt beschrieben.Check the Release DWORD to detect those versions, as described in the previous section. Informationen zu Code, der .NET Framework 4.5.NET Framework 4.5 oder höhere Versionen nicht erkennt, finden Sie im nächsten Abschnitt dieses Artikels.For code that does detect the .NET Framework 4.5.NET Framework 4.5 or later versions, see the next section in this article.

    using Microsoft.Win32;
    using System;
    
    public static class VersionTest
    {
        public static void Main()
        {
            GetVersionFromRegistry();
        }
        
        private static void GetVersionFromRegistry()
        {
             // Opens the registry key for the .NET Framework entry.
                using (RegistryKey ndpKey = 
                    RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "").
                    OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
                {
                    // As an alternative, if you know the computers you will query are running .NET Framework 4.5 
                    // or later, you can use:
                    // using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, 
                    // RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
                foreach (string versionKeyName in ndpKey.GetSubKeyNames())
                {
                    if (versionKeyName.StartsWith("v"))
                    {
    
                        RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName);
                        string name = (string)versionKey.GetValue("Version", "");
                        string sp = versionKey.GetValue("SP", "").ToString();
                        string install = versionKey.GetValue("Install", "").ToString();
                        if (install == "") //no install info, must be later.
                            Console.WriteLine(versionKeyName + "  " + name);
                        else
                        {
                            if (sp != "" && install == "1")
                            {
                                Console.WriteLine(versionKeyName + "  " + name + "  SP" + sp);
                            }
    
                        }
                        if (name != "")
                        {
                            continue;
                        }
                        foreach (string subKeyName in versionKey.GetSubKeyNames())
                        {
                            RegistryKey subKey = versionKey.OpenSubKey(subKeyName);
                            name = (string)subKey.GetValue("Version", "");
                            if (name != "")
                                sp = subKey.GetValue("SP", "").ToString();
                            install = subKey.GetValue("Install", "").ToString();
                            if (install == "") //no install info, must be later.
                                Console.WriteLine(versionKeyName + "  " + name);
                            else
                            {
                                if (sp != "" && install == "1")
                                {
                                    Console.WriteLine("  " + subKeyName + "  " + name + "  SP" + sp);
                                }
                                else if (install == "1")
                                {
                                    Console.WriteLine("  " + subKeyName + "  " + name);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
    Imports Microsoft.Win32
    
    Public Module VersionTest
        Public Sub Main()
            GetVersionFromRegistry()
        End Sub
        
        Private Sub GetVersionFromRegistry()
    
            ' Opens the registry key for the .NET Framework entry.
            Using ndpKey As RegistryKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, ""). _
                OpenSubKey("SOFTWARE\Microsoft\NET Framework Setup\NDP\")
                ' As an alternative, if you know the computers you will query are running .NET Framework 4.5 
                ' or later, you can use:
    
                ' As an alternative, if you know the computers you will query are running .NET Framework 4.5 
                ' or later, you can use:
                '  Using ndpKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,  _
                '  RegistryView.Registry32).OpenSubKey("SOFTWARE\Microsoft\NET Framework Setup\NDP\")
    
                For Each versionKeyName As String In ndpKey.GetSubKeyNames()
                    If versionKeyName.StartsWith("v") Then
                        Dim versionKey As RegistryKey = ndpKey.OpenSubKey(versionKeyName)
                        Dim name As String = DirectCast(versionKey.GetValue("Version", ""), String)
                        Dim sp As String = versionKey.GetValue("SP", "").ToString()
                        Dim install As String = versionKey.GetValue("Install", "").ToString()
                        If install = "" Then
                            'no install info, ust be later
                            Console.WriteLine(versionKeyName & "  " & name)
                        Else
                            If sp <> "" AndAlso install = "1" Then
                                Console.WriteLine(versionKeyName & "  " & name & "  SP" & sp)
    
                            End If
                        End If
                        If name <> "" Then
                            Continue For
                        End If
                        For Each subKeyName As String In versionKey.GetSubKeyNames()
                            Dim subKey As RegistryKey = versionKey.OpenSubKey(subKeyName)
                            name = DirectCast(subKey.GetValue("Version", ""), String)
                            If name <> "" Then
                                sp = subKey.GetValue("SP", "").ToString()
                            End If
                            install = subKey.GetValue("Install", "").ToString()
                            If install = "" Then
                                'no install info, ust be later
                                Console.WriteLine(versionKeyName & "  " & name)
                            Else
                                If sp <> "" AndAlso install = "1" Then
                                    Console.WriteLine("  " & subKeyName & "  " & name & "  SP" & sp)
                                ElseIf install = "1" Then
                                    Console.WriteLine("  " & subKeyName & "  " & name)
    
                                End If
                            End If
                        Next
                    End If
                Next
            End Using
        End Sub
    End Module
    

    Das Beispiel führt zu einer Ausgabe, die der folgenden Ausgabe ähnelt:The example produces output that's similar to the following:

    v2.0.50727  2.0.50727.4016  SP2
    v3.0  3.0.30729.4037  SP2
    v3.5  3.5.30729.01  SP1
    v4
      Client  4.0.30319
      Full  4.0.30319
    

Ermitteln der .NET Framework-Versionen durch codegesteuertes Abfragen der Registrierung (.NET Framework 4.5 und neuer)To find .NET Framework versions by querying the registry in code (.NET Framework 4.5 and later)

  1. Wenn das Release-DWORD vorhanden ist, können Sie davon ausgehen, dass .NET Framework 4.5 oder neuer auf dem Computer installiert ist.The existence of the Release DWORD indicates that the .NET Framework 4.5 or later has been installed on a computer. Der Wert des Schlüsselworts gibt die installierte Version an.The value of the keyword indicates the installed version. Verwenden Sie die Methoden OpenBaseKey und OpenSubKey der Microsoft.Win32.RegistryKey-Klasse, um auf den Unterschlüssel „Software\Microsoft\NET Framework Setup\NDP\v4\Full“ unter „HKEY_LOCAL_MACHINE“ in der Windows-Registrierung zuzugreifen.To check this keyword, use the OpenBaseKey and OpenSubKey methods of the Microsoft.Win32.RegistryKey class to access the Software\Microsoft\NET Framework Setup\NDP\v4\Full subkey under HKEY_LOCAL_MACHINE in the Windows registry.

  2. Überprüfen Sie den Wert des Release-Schlüsselworts, um die installierte Version zu bestimmen.Check the value of the Release keyword to determine the installed version. Um aufwärtskompatibel zu sein, können Sie einen Wert größer als oder gleich den Werten suchen, die in der Tabelle aufgelistet sind.To be forward-compatible, you can check for a value greater than or equal to the values listed in the table. Dies sind die .NET Framework-Versionen und die jeweiligen Release-Schlüsselwörter.Here are the .NET Framework versions and associated Release keywords.

    VersionVersion Wert des Versions-DWORDValue of the Release DWORD
    .NET Framework 4.5.NET Framework 4.5 378389378389
    .NET Framework 4.5.1 installiert mit Windows 8.1.NET Framework 4.5.1 installed with Windows 8.1 378675378675
    .NET Framework 4.5.1 installiert unter Windows 8, Windows 7 SP1 oder Windows Vista SP2.NET Framework 4.5.1 installed on Windows 8, Windows 7 SP1, or Windows Vista SP2 378758378758
    .NET Framework 4.5.2.NET Framework 4.5.2 379893379893
    .NET Framework 4.6.NET Framework 4.6 installiert mit Windows 10 installed with Windows 10 393295393295
    .NET Framework 4.6.NET Framework 4.6 installiert auf allen anderen Windows-Betriebssystemversionen installed on all other Windows OS versions 393297393297
    .NET Framework 4.6.1.NET Framework 4.6.1 installiert unter Windows 10 installed on Windows 10 394254394254
    .NET Framework 4.6.1.NET Framework 4.6.1 installiert auf allen anderen Windows-Betriebssystemversionen installed on all other Windows OS versions 394271394271
    .NET Framework 4.6.2.NET Framework 4.6.2 installiert unter Windows 10 Anniversary Update installed on Windows 10 Anniversary Update 394802394802
    .NET Framework 4.6.2.NET Framework 4.6.2 installiert auf allen anderen Windows-Betriebssystemversionen installed on all other Windows OS versions 394806394806
    .NET Framework 4.7 installiert unter Windows 10 Creators Update.NET Framework 4.7 installed on Windows 10 Creators Update 460798460798
    .NET Framework 4.7 installiert auf allen anderen Windows-Betriebssystemversionen.NET Framework 4.7 installed on all other Windows OS versions 460805460805
    .NET Framework auf Windows 10 fallen Ersteller Update installiert 4.7.1.NET Framework 4.7.1 installed on Windows 10 Fall Creators Update 461308461308
    .NET Framework 4.7.1 auf allen anderen Windows-Betriebssystemversionen installiert.NET Framework 4.7.1 installed on all other Windows OS versions 461310461310

    Das folgende Beispiel überprüft den Release-Wert in der Registrierung, um zu ermitteln, ob .NET Framework 4.5.NET Framework 4.5 oder eine höhere Version von .NET Framework installiert ist.The following example checks the Release value in the registry to determine whether the .NET Framework 4.5.NET Framework 4.5 or a later version of the .NET Framework is installed.

    using System;
    using Microsoft.Win32;
    
    public class GetDotNetVersion
    {
       public static void Main()
       {
          GetDotNetVersion.Get45PlusFromRegistry();
       }
    
       private static void Get45PlusFromRegistry()
       {
          const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";
    
       	using (RegistryKey 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 >= will enable forward compatibility.
       private static string CheckFor45PlusVersion(int releaseKey)
       {
          if (releaseKey >= 460798)
             return "4.7 or later";
          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";
       }
    }   
    // This example displays output like the following:
    //       .NET Framework Version: 4.6.1
    
    Imports Microsoft.Win32
    
    Public Module GetDotNetVersion
       Public Sub Main()
          Get45PlusFromRegistry()
       End Sub
    
       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 
                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 >= will enable forward compatibility.
       Private Function CheckFor45PlusVersion(releaseKey As Integer) As String
          If releaseKey >= 460798 Then
             Return "4.7 or later"
          Else If releaseKey >= 394802 Then
             Return "4.6.2 or later"
          Else If releaseKey >= 394254 Then 
             Return "4.6.1"
          Else If releaseKey >= 393295 Then
             Return "4.6"
          Else If releaseKey >= 379893 Then
             Return "4.5.2"
          Else If releaseKey >= 378675 Then
             Return "4.5.1"
          Else If 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
    End Module   
    ' The example displays output like the following:
    '       .NET Framework Version: 4.6.1
    
    

    In diesem Beispiel wird der empfohlenen Vorgehensweise zur Versionsprüfung gefolgt:This example follows the recommended practice for version checking:

    • Es überprüft, ob der Wert des Release-Eintrags größer als oder gleich dem Wert der bekannten Versionsschlüssel ist.It checks whether the value of the Release entry is greater than or equal to the value of the known release keys.

    • Es wird beginnend mit der neuesten Version bis hin zur ältesten Version geprüft.It checks in order from most recent version to earliest version.

Überprüfen der mindestens erforderlichen Version von .NET Framework durch Abfragen der Registrierung in PowerShell (.NET Framework 4.5 und höher)To check for a minimum-required .NET Framework version by querying the registry in PowerShell (.NET Framework 4.5 and later)

  • Das folgende Beispiel überprüft den Wert des Schlüsselworts Release, um unabhängig vom Windows-Betriebssystem zu bestimmen, ob .NET Framework 4.6.2 oder höher installiert ist (es wird True zurückgegeben, falls es installiert ist, andernfalls False).The following example checks the value of the Release keyword to determine whether .NET Framework 4.6.2 or higher is installed, regardless of Windows OS version (returning True if it is and False otherwise).

    Get-ChildItem "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" | Get-ItemPropertyValue -Name Release | ForEach-Object { $_ -ge 394802 } 
    

    Sie können 394802 im vorherigen Beispiel durch einen anderen Wert aus der folgenden Tabelle ersetzen, um eine Überprüfung auf eine unterschiedliche mindestens erforderliche Version von .NET Framework durchzuführen.You can replace 394802 in the previous example with another value from the following table to check for a different minimum-required .NET Framework version.

    VersionVersion Minimalwert des Versions-DWORDMinimum value of the Release DWORD
    .NET Framework 4.5.NET Framework 4.5 378389378389
    .NET Framework 4.5.1.NET Framework 4.5.1 378675378675
    .NET Framework 4.5.2.NET Framework 4.5.2 379893379893
    .NET Framework 4.6.NET Framework 4.6 393295393295
    .NET Framework 4.6.1.NET Framework 4.6.1 394254394254
    .NET Framework 4.6.2.NET Framework 4.6.2 394802394802
    .NET Framework 4.7.NET Framework 4.7 460798460798
    .NET Framework 4.7.1.NET Framework 4.7.1 461308461308

Ermitteln der aktuellen Laufzeitversion mithilfe des Clrver-ToolsTo find the current runtime version by using the Clrver tool

  • Verwenden Sie das CLR-Versions-Tool (Clrver.exe), um zu bestimmen, welche Versionen der Common Language Runtime auf einem Computer installiert sind.Use the CLR Version Tool (Clrver.exe) to determine which versions of the common language runtime are installed on a computer.

    Geben Sie an der Visual Studio-Eingabeaufforderung clrver ein.From a Visual Studio Command Prompt, enter clrver. Dieser Befehl erzeugt eine Ausgabe ähnlich der folgenden:This command produces output similar to the following:

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

    Weitere Informationen über die Verwendung dieses Tools finden Sie unter Clrver.exe (CLR-Versionstool).For more information about using this tool, see Clrver.exe (CLR Version Tool).

Ermitteln der aktuellen Laufzeitversion durch programmgesteuerte Abfragen der "Environment"-KlasseTo find the current runtime version by querying the Environment class in code

  • Fragen Sie die Environment.Version-Eigenschaft ab, um ein Version-Objekt abzurufen, das die Version der Laufzeit identifiziert, die gerade den Code ausführt.Query the Environment.Version property to retrieve a Version object that identifies the version of the runtime that is currently executing the code. Sie können die Version.Major-Eigenschaft verwenden, um den Hauptversionsbezeichner (beispielsweise "4 " für Version 4.0) abzurufen, die Version.Minor-Eigenschaft, um den Nebenversionsbezeichner abzurufen (beispielsweise "0 " für Version 4.0) oder die Object.ToString-Methode aufrufen, um die gesamte Versionszeichenfolge (beispielsweise "4.0.30319.18010") abzurufen, wie im folgenden Code gezeigt.You can use the Version.Major property to get the major release identifier (for example, "4" for version 4.0), the Version.Minor property to get the minor release identifier (for example, "0" for version 4.0), or the Object.ToString method to get the entire version string (for example, "4.0.30319.18010", as shown in the following code). Diese Eigenschaft gibt einen einzelnen Wert zurück, der die Version der Laufzeit angibt, die gerade den Code ausführt; sie gibt keine Assemblyversionen oder andere Versionen der Laufzeit zurück, die möglicherweise auf dem Computer installiert sind.This property returns a single value that reflects the version of the runtime that is currently executing the code; it does not return assembly versions or other versions of the runtime that may have been installed on the computer.

    Bei den .NET Framework-Versionen 4, 4.5, 4.5.1 und 4.5.2 gibt die Environment.VersionEigenschaft ein Version-Objekt zurück, dessen Zeichenfolgedarstellung die Form 4.0.30319.xxxxxbesitzt.For the .NET Framework Versions 4, 4.5, 4.5.1, and 4.5.2, the Environment.Version property returns a Version object whose string representation has the form 4.0.30319.xxxxx. Für .NET Framework 4.6 und höher weist sie die Form 4.0.30319.42000 auf.For the .NET Framework 4.6 and later, it has the form 4.0.30319.42000.

    Wichtig

    Für .NET Framework 4.5.NET Framework 4.5 und höher wird das Verwenden der Eigenschaft Environment.Version zum Erkennen der Laufzeitversion nicht empfohlen.For the .NET Framework 4.5.NET Framework 4.5 and later, we do not recommend using the Environment.Version property to detect the version of the runtime. Stattdessen empfehlen wir, dass Sie die Registrierung abfragen, wie im Abschnitt Ermitteln der .NET Framework-Versionen durch codegesteuertes Abfragen der Registrierung (.NET Framework 4.5 und neuer) weiter oben in diesem Artikel beschrieben.Instead, we recommend that you query the registry, as described in the To find .NET Framework versions by querying the registry in code (.NET Framework 4.5 and later) section earlier in this article.

    Der folgende Code zeigt ein Beispiel für die Abfrage der Environment.Version-Eigenschaft auf Laufzeitversionsinformationen:Here's an example of querying the Environment.Version property for runtime version information:

    using System;
    
    public class VersionTest
    {
        public static void Main()
        {
            Console.WriteLine($"Version: {Environment.Version}");
        }
    }
    
    Imports Microsoft.Win32
    
    Public Module VersionTest
       Public Sub Main()
          GetVersionFromEnvironment()
       End Sub
       
        Private Sub GetVersionFromEnvironment()
            Console.WriteLine($"Version: {Environment.Version}")
        End Sub
    End Module
    
    

    Das Beispiel führt zu einer Ausgabe, die der folgenden Ausgabe ähnelt:The example produces output that's similar to the following:

    Version: 4.0.30319.18010
    

Siehe auchSee Also

Gewusst wie: Bestimmen der installierten .NET Framework-UpdatesHow to: Determine Which .NET Framework Updates Are Installed
Installieren Sie .NET Framework für EntwicklerInstall the .NET Framework for developers
Versionen und AbhängigkeitenVersions and Dependencies