Cómo: Determinar qué versiones de .NET Framework están instaladasHow to: Determine which .NET Framework versions are installed

Los usuarios pueden instalar y ejecutar varias versiones de .NET Framework en sus equipos.Users can install and run multiple versions of the .NET Framework on their computers. Al desarrollar o implementar una aplicación, puede que necesite conocer las versiones de .NET Framework que están instaladas en el equipo del usuario.When you develop or deploy your app, you might need to know which .NET Framework versions are installed on the user’s computer. .NET Framework está formado por dos componentes principales con versiones separadas:Note that the .NET Framework consists of two main components, which are versioned separately:

  • Un conjunto de ensamblados, que son colecciones de tipos y recursos que proporcionan funciones a las aplicaciones.A set of assemblies, which are collections of types and resources that provide the functionality for your apps. .NET Framework y los ensamblados comparten el mismo número de versión.The .NET Framework and assemblies share the same version number.

  • Common Language Runtime (CLR), que administra y ejecuta el código de la aplicación.The common language runtime (CLR), which manages and executes your app's code. El CLR se identifica mediante su propio número de versión (consulte Versiones y dependencias).The CLR is identified by its own version number (see Versions and Dependencies).

Para obtener una lista precisa de las versiones de .NET Framework instaladas en un equipo, visualice el Registro o consúltelo mediante código: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:

Ver el Registro (versiones 1 a 4)Viewing the registry (versions 1-4)
Ver el Registro (versión 4.5 y posteriores)Viewing the registry (version 4.5 and later)
Consultar el Registro mediante código (versiones 1 a 4)Using code to query the registry (versions 1-4)
Consultar el Registro mediante código (versión 4.5 y posteriores)Using code to query the registry (version 4.5 and later)
Consultar el Registro mediante PowerShell (versión 4.5 y posteriores)Using PowerShell to query the registry (version 4.5 and later)

Para identificar la versión de CRL puede usar una herramienta o código:To find the CLR version, you can use a tool or code:

Uso de la herramienta ClrverUsing the Clrver tool
Uso de código para consultar la clase System.EnvironmentUsing code to query the System.Environment class

Para obtener información sobre cómo detectar las actualizaciones instaladas de cada versión de .NET Framework, vea Cómo: Determinar qué actualizaciones de .NET Framework están instaladas.For information about detecting the installed updates for each version of the .NET Framework, see How to: Determine Which .NET Framework Updates Are Installed. Para obtener información sobre cómo instalar .NET Framework, consulte Install the .NET Framework for developers (Instalar .NET Framework para desarrolladores).For information about installing the .NET Framework, see Install the .NET Framework for developers.

Para identificar las versiones de .NET Framework mediante la visualización del Registro (.NET Framework 1 a 4)To find .NET Framework versions by viewing the registry (.NET Framework 1-4)

  1. En el menú Inicio, elija Ejecutar.On the Start menu, choose Run.

  2. En el cuadro Abrir, escriba regedit.exe.In the Open box, enter regedit.exe.

    Debe tener credenciales de administrador para ejecutar regedit.exe.You must have administrative credentials to run regedit.exe.

  3. En el Editor del Registro, abra la subclave siguiente:In the Registry Editor, open the following subkey:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

    Las versiones instaladas se muestran bajo la subclave NDP.The installed versions are listed under the NDP subkey. El número de versión se indica en la entrada Versión.The version number is stored in the Version entry. En .NET Framework 4.NET Framework 4, la entrada Versión está en la subclave Client o Full (en NDP), o en ambas subclaves.For the .NET Framework 4.NET Framework 4 the Version entry is under the Client or Full subkey (under NDP), or under both subkeys.

    Nota

    La carpeta “NET Framework Setup” del Registro no comienza con un punto.The "NET Framework Setup" folder in the registry does not begin with a period.

Para identificar las versiones de .NET Framework mediante la visualización del Registro (.NET Framework 4.5 y posterior)To find .NET Framework versions by viewing the registry (.NET Framework 4.5 and later)

  1. En el menú Inicio, elija Ejecutar.On the Start menu, choose Run.

  2. En el cuadro Abrir, escriba regedit.exe.In the Open box, enter regedit.exe.

    Debe tener credenciales de administrador para ejecutar regedit.exe.You must have administrative credentials to run regedit.exe.

  3. En el Editor del Registro, abra la subclave siguiente:In the Registry Editor, open the following subkey:

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

    Tenga en cuenta que la ruta de acceso a la subclave Full incluye la subclave Net Framework en lugar de la .NET Framework.Note that the path to the Full subkey includes the subkey Net Framework rather than .NET Framework.

    Nota

    Si la subclave Full no está presente, significa que .NET Framework 4.5 (o una versión posterior) no está instalado.If the Full subkey is not present, then you do not have the .NET Framework 4.5 or later installed.

    Compruebe si existe un valor DWORD denominado Release.Check for a DWORD value named Release. La existencia de un valor DWORD Release indica que en ese equipo está instalado .NET Framework 4.5.NET Framework 4.5 o una versión anterior.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.

    Entrada del Registro para .NET Framework 4.5The registry entry for the .NET Framework 4.5.

    El valor DWORD Release indica qué versión de .NET Framework está instalada.The value of the Release DWORD indicates which version of the .NET Framework is installed.

    Importante

    En la tabla siguiente solo se enumeran las claves de las versiones de lanzamiento de .NET Framework.The following table lists the keys of released versions of the .NET Framework only. No se muestran las claves de las versiones preliminares.It doesn't list the keys of preview or pre-release versions.

    Valor DWORD de la versiónValue of the Release DWORD VersiónVersion
    378389378389 .NET Framework 4.5.NET Framework 4.5
    378675378675 .NET Framework 4.5.1 instalado con Windows 8.1 o 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 instalado en Windows 8, Windows 7 SP1 o 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
    Solo en sistemas Windows 10: 393295On Windows 10 systems only: 393295

    En las demás versiones de sistema operativo: 393297On all other OS versions: 393297
    .NET Framework 4.6.NET Framework 4.6
    Solo en sistemas con la actualización de noviembre de Windows 10: 394254On Windows 10 November Update systems only: 394254

    En las demás versiones del sistema operativo: 394271On all other OS versions: 394271
    .NET Framework 4.6.1.NET Framework 4.6.1
    En la Actualización de aniversario de Windows 10 y Windows Server 2016: 394802On Windows 10 Anniversary Update and Windows Server 2016: 394802

    En las demás versiones del sistema operativo: 394806On all other OS versions: 394806
    .NET Framework 4.6.2.NET Framework 4.6.2
    Solo en Windows 10 Creators Update: 460798On Windows 10 Creators Update only: 460798

    En las demás versiones de sistema operativo: 460805On all other OS versions: 460805
    .NET Framework 4.7.NET Framework 4.7
    Solo en Windows 10 Fall Creators Update: 461308On Windows 10 Fall Creators Update only: 461308

    En las demás versiones del sistema operativo: 461310On all other OS versions: 461310
    .NET Framework 4.7.1.NET Framework 4.7.1
    Solo en la Actualización de octubre de 2018 de Windows 10: 461814On Windows 10 October 2018 Update only: 461814

    Solo en la Actualización de abril de 2018 de Windows 10: 461808On Windows 10 April 2018 Update only: 461808

    En las demás versiones del sistema operativo: 461814On all other OS versions: 461814
    .NET Framework 4.7.2.NET Framework 4.7.2

Para identificar las versiones de .NET Framework con consultas en el Registro mediante código (.NET Framework 1 a 4)To find .NET Framework versions by querying the registry in code (.NET Framework 1-4)

  • Utilice la clase Microsoft.Win32.RegistryKey para tener acceso a la subclave Software\Microsoft\NET Framework Setup\NDP\ en HKEY_LOCAL_MACHINE en el Registro de Windows.Use the Microsoft.Win32.RegistryKey class to access the Software\Microsoft\NET Framework Setup\NDP\ subkey under HKEY_LOCAL_MACHINE in the Windows registry.

    El código siguiente ilustra un ejemplo de esta consulta.The following code shows an example of this query.

    Nota

    En este código no se muestra cómo detectar .NET Framework 4.5.NET Framework 4.5 o versiones posteriores.This code does not show how to detect the .NET Framework 4.5.NET Framework 4.5 or later. Compruebe el valor DWORD Release para detectar estas versiones, tal y como se describe en la sección anterior.Check the Release DWORD to detect those versions, as described in the previous section. Puede consultar el código que sí detecta .NET Framework 4.5.NET Framework 4.5 o versiones posteriores en la sección siguiente de este artículo.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
    

    El ejemplo genera un resultado similar al siguiente: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
    

Para identificar las versiones de .NET Framework con consultas en el Registro mediante código (.NET Framework 4.5 y posterior)To find .NET Framework versions by querying the registry in code (.NET Framework 4.5 and later)

  1. La existencia de un valor DWORD Release indica que ya se ha instalado .NET Framework 4.5 o posterior en un equipo.The existence of the Release DWORD indicates that the .NET Framework 4.5 or later has been installed on a computer. El valor de la palabra clave indica la versión instalada.The value of the keyword indicates the installed version. Para comprobar esta palabra clave, use los métodos OpenBaseKey y OpenSubKey de la clase Microsoft.Win32.RegistryKey para obtener acceso a la subclave Software\Microsoft\NET Framework Setup\NDP\v4\Full, en HKEY_LOCAL_MACHINE, del Registro de Windows.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. Compruebe el valor de la palabra clave Release para determinar la versión instalada.Check the value of the Release keyword to determine the installed version. Para que sea compatible con el reenvío, puede buscar un valor mayor o igual que los valores que se muestran en la tabla.To be forward-compatible, you can check for a value greater than or equal to the values listed in the table. Estas son las versiones de .NET Framework y las palabras clave de Release asociadas.Here are the .NET Framework versions and associated Release keywords.

    Importante

    En la tabla siguiente solo se enumeran las claves de las versiones de lanzamiento de .NET Framework.The following table lists the keys of released versions of the .NET Framework only. No se muestran las claves de las versiones preliminares.It doesn't list the keys of preview or pre-release versions.

    VersiónVersion Valor DWORD de la versiónValue of the Release DWORD
    .NET Framework 4.5.NET Framework 4.5 378389378389
    .NET Framework 4.5.1 instalado con Windows 8.1.NET Framework 4.5.1 installed with Windows 8.1 378675378675
    .NET Framework 4.5.1 instalado en Windows 8, Windows 7 SP1 o 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 instalado con Windows 10.NET Framework 4.6 installed with Windows 10 393295393295
    .NET Framework 4.6 instalado en las demás versiones del sistema operativo Windows.NET Framework 4.6 installed on all other Windows OS versions 393297393297
    .NET Framework 4.6.1 instalado en Windows 10.NET Framework 4.6.1 installed on Windows 10 394254394254
    .NET Framework 4.6.1 instalado en las demás versiones del sistema operativo Windows.NET Framework 4.6.1 installed on all other Windows OS versions 394271394271
    .NET Framework 4.6.2 instalado en la Actualización de aniversario de Windows 10 y Windows Server 2016.NET Framework 4.6.2 installed on Windows 10 Anniversary Update and Windows Server 2016 394802394802
    .NET Framework 4.6.2 instalado en las demás versiones del sistema operativo Windows.NET Framework 4.6.2 installed on all other Windows OS versions 394806394806
    .NET Framework 4.7 instalado en Windows 10 Creators Update.NET Framework 4.7 installed on Windows 10 Creators Update 460798460798
    .NET Framework 4.7 instalado en las demás versiones del sistema operativo Windows.NET Framework 4.7 installed on all other Windows OS versions 460805460805
    .NET Framework 4.7.1 instalado en Windows 10 Fall Creators Update.NET Framework 4.7.1 installed on Windows 10 Fall Creators Update 461308461308
    .NET Framework 4.7.1 instalado en las demás versiones del sistema operativo Windows.NET Framework 4.7.1 installed on all other Windows OS versions 461310461310
    .NET Framework 4.7.2 instalado en la Actualización de octubre de 2018 de Windows 10.NET Framework 4.7.2 installed on Windows 10 October 2018 Update 461814461814
    .NET Framework 4.7.2 instalado en la Actualización de abril de 2018 de Windows 10.NET Framework 4.7.2 installed on Windows 10 April 2018 Update 461808461808
    .NET Framework 4.7.2 instalado en Windows 10 Fall Creators Update y en versiones anteriores del sistema operativo.NET Framework 4.7.2 installed on Windows 10 Fall Creators Update and earlier OS versions 461814461814

    El ejemplo siguiente comprueba el valor Release en el Registro para determinar si .NET Framework 4.5.NET Framework 4.5 o una versión posterior de .NET Framework está instalada.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 >= 461808)
             return "4.7.2 or later";
          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";
       }
    }   
    // 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 >= 461308 Then
             Return "4.7.1 or later"
          Else If releaseKey >= 460798 Then
             Return "4.7"
          Else If releaseKey >= 394802 Then
             Return "4.6.2"
          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
    
    

    Este ejemplo sigue la práctica recomendada para la comprobación de versión:This example follows the recommended practice for version checking:

    • Comprueba si el valor de la entrada Release es mayor o igual que el valor de las claves conocidas de versión.It checks whether the value of the Release entry is greater than or equal to the value of the known release keys.

    • Realiza la comprobación en orden, desde la versión más reciente hasta la más antigua.It checks in order from most recent version to earliest version.

Comprobación de una versión mínima requerida de .NET Framework realizando una consulta al registro en PowerShell (.NET Framework 4.5 y posteriores)To check for a minimum-required .NET Framework version by querying the registry in PowerShell (.NET Framework 4.5 and later)

  • En el ejemplo siguiente se comprueba el valor de la palabra clave Release para determinar si .NET Framework 4.6.2 o posterior está instalado, independientemente de la versión del sistema operativo Windows (se devolverá True si es así o False en caso contrario).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 } 
    

    Puede reemplazar 394802 en el ejemplo anterior con otro valor de la tabla siguiente para comprobar si hay otra versión de .NET Framework mínima requerida.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.

    VersiónVersion Valor mínimo de DWORD de la versiónMinimum 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
    .NET Framework 4.7.2.NET Framework 4.7.2 461808461808

Para identificar la versión de runtime actual mediante la herramienta ClrverTo find the current runtime version by using the Clrver tool

  • Use la herramienta de versión de CLR (Clrver.exe) para determinar qué versiones de Common Language Runtime (CLR) están instaladas en un equipo.Use the CLR Version Tool (Clrver.exe) to determine which versions of the common language runtime are installed on a computer.

    En un símbolo del sistema de Visual Studio, escriba clrver.From a Visual Studio Command Prompt, enter clrver. Este comando produce un resultado similar al siguiente:This command produces output similar to the following:

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

    Para obtener más información sobre el uso de esta herramienta, consulte Clrver.exe (herramienta de versión de CLR).For more information about using this tool, see Clrver.exe (CLR Version Tool).

Para buscar la versión de runtime actual consultando la clase Environment en el códigoTo find the current runtime version by querying the Environment class in code

  • Consulte la propiedad Environment.Version para recuperar un objeto Version que identifique la versión de tiempo de ejecución que está ejecutando el código.Query the Environment.Version property to retrieve a Version object that identifies the version of the runtime that is currently executing the code. Puede utilizar la propiedad Version.Major para obtener el identificador de versión principal (por ejemplo, "4" para la versión 4,0), la propiedad Version.Minor para obtener el identificador de versión secundaria (por ejemplo, "0" para la versión 4,0) o el método Object.ToString para obtener la cadena completa de la versión (por ejemplo, "4.0.30319.18010", como se muestra en el código siguiente).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). Esta propiedad devuelve un valor único que refleja la versión del runtime que está ejecutando el código actualmente; no devuelve versiones de ensamblado ni otras versiones del runtime que se hayan podido instalar en el equipo.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.

    Para las versiones 4, 4.5, 4.5.1 y 4.5.2 de .NET Framework, la propiedad Environment.Version devuelve un objeto Version cuya representación de cadena tiene la forma 4.0.30319.xxxxx.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. Para .NET Framework 4.6 y posterior, tiene la forma 4.0.30319.42000.For the .NET Framework 4.6 and later, it has the form 4.0.30319.42000.

    Importante

    Para .NET Framework 4.5.NET Framework 4.5 y versiones posteriores, no se recomienda usar la propiedad Environment.Version para detectar la versión del tiempo de ejecución.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. En su lugar, se recomienda consultar el Registro, como se describe en la sección anterior de este artículo Para identificar las versiones de .NET Framework con consultas en el Registro mediante código (.NET Framework 4.5 y posterior).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.

    A continuación se muestra un ejemplo de cómo consultar la propiedad Environment.Version para obtener información de la versión del runtime: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
    
    

    El ejemplo genera un resultado similar al siguiente:The example produces output that's similar to the following:

    Version: 4.0.30319.18010
    

Vea tambiénSee also

Determinar qué actualizaciones de .NET Framework están instaladasHow to: Determine Which .NET Framework Updates Are Installed
Instalación de .NET Framework para desarrolladoresInstall the .NET Framework for developers
Versiones y dependenciasVersions and Dependencies