Filtrar para 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:

Búsqueda de versiones 1 a 4 de .NET Framework en el RegistroFind .NET Framework versions 1-4 in the registry
Búsqueda de versiones de .NET Framework 4.5 y versiones posteriores en el RegistroFind .NET Framework versions 4.5 and later in the registry)
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

Nota

Hay una diferencia entre la versión de .NET Framework y la versión de Common Language Runtime (CLR).There is a difference between the .NET Framework version and the common language runtime (CLR) version. Las versiones de .NET Framework se basan en el conjunto de ensamblados que conforman la biblioteca de clases .NET Framework.The .NET Framework is versioned based on the set of assemblies that form the .NET Framework Class Library. Por ejemplo, las versiones de .NET Framework incluyen 4.5, 4.6.1 y 4.7.2.For example, .NET Framework versions include 4.5, 4.6.1, and 4.7.2. Las versiones de CLR se basan en el entorno de ejecución en el que se ejecutan las aplicaciones .NET Framework, y una única versión de CLR admite normalmente varias versiones de .NET Framework.The CLR is versioned based on the runtime on which .NET Framework applications execute, and a single CLR version typically supports multiple .NET Framework versions. La versión 4.30319 de CLR xxxxx admite las versiones 4 a 4.5.2 de .NET Framework ; la versión de CLR 4.30319.42000 admite las versiones de .NET Framework a partir de .NET Framework 4.6.CLR version 4.30319.xxxxx supports .NET Framework versions 4 through 4.5.2; CLR version 4.30319.42000 supports .NET Framework versions starting with .NET Framework 4.6. Para obtener más información, vea la propiedad Environment.Version.For more information, see the Environment.Version property.

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.

Búsqueda de versiones 1 a 4 de .NET Framework en el RegistroFind .NET Framework versions 1-4 in the registry

  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

    Para las versiones 1.1 a 3.5 de .NET Framework, las versiones instaladas se muestran como subclaves en la subclave NDP.For .NET Framework versions 1.1 through 3.5, the installed versions are listed as subkeys under the NDP subkey. El número de versión se indica en la entrada Version de la subclave de versión.The version number is stored in the version subkey's Version entry.

    En .NET Framework 4, la entrada Version se encuentra en la subclave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.0\Client, en la subclave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.0\Full o en ambas.For .NET Framework 4, the Version entry is under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.0\Client subkey, the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.0\Full subkey, 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.

    En la siguiente ilustración se muestra la subclave de .NET Framework 3.5, junto con su entrada Version.The following figure shows that the subkey for the .NET Framework 3.5 along with its Version entry.

    La entrada del Registro de .NET Framework 3.5. The registry entry for the .NET Framework 3.5.

Búsqueda de las versiones de .NET Framework 4.5 y versiones posteriores en el RegistroFind .NET Framework versions 4.5 and later in the registry

  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 del valor DWORD Release indica que ya se ha instalado .NET Framework 4.5 o posterior en ese equipo.The existence of the Release DWORD indicates that .NET Framework 4.5 or later has been installed on that computer. Su valor es una clave de versión que corresponde a una versión concreta de .NET Framework.Its value is a release key that corresponds to a particular version of .NET Framework. En la ilustración siguiente, por ejemplo, el valor DWORD Release es 378389, que es la clave de versión de .NET Framework 4.5.In the following figure, for example, the value of the Release DWORD is 378389, which is the release key for .NET Framework 4.5.

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

En la tabla siguiente se muestra el valor mínimo del valor DWORD Release para cada versión de .NET Framework.The following table lists the minimum value of the Release DWORD for each .NET Framework version. Puede usar estos valores de la manera siguiente:You can use these values as follows:

  • Para determinar si existe una versión mínima de .NET Framework, pruebe si el valor DWORD Release que se encuentra en el Registro es mayor o igual que el valor que aparece en la tabla.To determine whether a minimum .NET Framework version is present, test whether the Release DWORD value found in the registry is greater than or equal to the value listed in the table. Por ejemplo, si la aplicación requiere .NET Framework 4.7 o versiones posteriores, probaría si el valor de versión mínimo es 460798.For example, if your application requires .NET Framework 4.7 or later, you would test for a minimum release key value of 460798.

  • Para probar varias versiones, comience con la versión más reciente de .NET Framework y, luego, pruebe las versiones anteriores sucesivas.To test for multiple versions, begin with the latest .NET Framework version, and then test for each successive earlier version.

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ón de .NET Framework.NET Framework Version Valor DWORD de la versiónValue 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 obtener una tabla completa de claves de versión de .NET Framework para versiones específicas del sistema operativo Windows, consulte .NET Framework release keys and Windows operating system versions (Claves de versión de .NET Framework y versiones del sistema operativo Windows).For a complete table of release keys for the .NET Framework for specific Windows operating system versions, see .NET Framework release keys and Windows operating system versions.

Búsqueda de versiones de .NET Framework 1 a 4 con códigoFind .NET Framework versions 1-4 with code

  • Use la clase Microsoft.Win32.RegistryKey para acceder a la subclave Software\Microsoft\NET Framework Setup\NDP\ en la rama HKEY_LOCAL_MACHINE del Registro de Windows.Use the Microsoft.Win32.RegistryKey class to access the Software\Microsoft\NET Framework Setup\NDP\ subkey under HKEY_LOCAL_MACHINE branch in the Windows registry.

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

    Nota

    Este código no muestra cómo detectar .NET Framework 4.5 o posterior.This code does not show how to detect .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. Para información sobre el código que detecta .NET Framework 4.5 o versiones posteriores, consulte la sección siguiente de este artículo.For code that detects .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.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, or an empty string if there is none.
                        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 (!(string.IsNullOrEmpty(sp)) && install == "1")
                            {
                                Console.WriteLine($"{versionKeyName}  {name}  SP{sp}");
                            }
                        }
                        if (! string.IsNullOrEmpty(name))
                        {
                            continue;
                        }
                        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 (!(string.IsNullOrEmpty(sp )) && install == "1")
                                {
                                    Console.WriteLine($"{subKeyName}  {name}  SP{sp}");
                                }
                                else if (install == "1")
                                {
                                    Console.WriteLine($"  {subKeyName}  {name}");
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    // The example displays output similar to the following:
    //        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
    
    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.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}")
                        Else
                            If Not String.IsNullOrEmpty(sp) AndAlso install = "1" Then
                                Console.WriteLine($"{versionKeyName}  {name}  SP{sp}")
                            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}")
                            Else
                                If Not String.IsNullOrEmpty(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
    ' The example displays output similar to the following:
    '        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
    

Búsqueda de versiones de .NET Framework 4.5 y versiones posteriores con códigoFind .NET Framework versions 4.5 and later with code

  1. La existencia del valor DWORD Release en la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full indica que ya se ha instalado .NET Framework 4.5 o posterior en un equipo.The existence of the Release DWORD in the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full key indicates that the .NET Framework 4.5 or later is 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 RegistryKey.OpenBaseKey y RegistryKey.OpenSubKey para acceder a la subclave del Registro de Windows.To check this keyword, use the RegistryKey.OpenBaseKey and RegistryKey.OpenSubKey methods to access the subkey 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 ser compatible con el reenvío, puede buscar un valor mayor o igual que el valor que aparece en la tabla en la sección Búsqueda de versiones de .NET Framework 4.5 y versiones posteriores en el Registro.To be forward-compatible, you can check for a value greater than or equal to the value listed in the table in the Find .NET Framework versions 4.5 and later in the registry section.

En el ejemplo siguiente se comprueba el valor Release en el Registro para determinar si está instalado .NET Framework o una versión posterior.The following example checks the Release value in the registry to determine whether .NET Framework 4.5 or a later version 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 (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 >= 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.

Búsqueda de una versión mínima requerida de .NET Framework (4.5 y posterior) con PowerShellCheck for a minimum required .NET Framework version (4.5 and later) with PowerShell

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 (si lo está, se devuelve True; en caso contrario, False).The following example checks the value of the Release keyword to determine whether .NET Framework 4.6.2 or higher is installed (returning True if it is and False otherwise).

```PowerShell
# PowerShell 5
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\' | Get-ItemPropertyValue -Name Release | Foreach-Object { $_ -ge 394802 } 
```

```PowerShell
# PowerShell 4
(Get-ItemProperty "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full").Release -gt 394802
```

You can replace `394802` in the previous example with another value from the following table in the [Find .NET Framework versions 4.5 and later in the registry](#net_b) section to check for a different minimum required .NET Framework version.

Búsqueda de la versión actual de CLR con Clrver.exeFind the current CLR version with Clrver.exe

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 Símbolo del sistema para desarrolladores de Visual Studio, escriba clrver.From a Developer Command Prompt for Visual Studio, 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).

Búsqueda de la versión actual de CLR con la clase EnvironmentFind the current CLR version with the Environment class

Puede recuperar el valor de la propiedad Environment.Version para recuperar un objeto Version que identifica la versión del entorno de ejecución que ejecuta actualmente el código.You can retrieve the value of the Environment.Version property to retrieve a Version object that identifies the version of the runtime that is currently executing the code. Esta propiedad devuelve un valor único que refleja la versión del entorno de ejecución que ejecuta actualmente el código; no devuelve versiones de ensamblado ni otras versiones del entorno de ejecución que se puedan haber instalado en el equipo. Puede usar 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 Version.ToString para obtener la cadena de versión completa (por ejemplo, "4.0.30319.18010", tal como se muestra en el código siguiente).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.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 Version.ToString method to get the entire version string (for example, "4.0.30319.18010", as shown in the following code).

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 y versiones posteriores, no se recomienda usar la propiedad Environment.Version para detectar la versión del entorno de ejecución.For the .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.

En el ejemplo siguiente se usa la propiedad Environment.Version para recuperar la información de la versión del entorno de ejecución:The following example used the Environment.Version property to retrieve runtime version information:

using System;

public class VersionTest
{
    public static void Main()
    {
        Console.WriteLine($"Version: {Environment.Version}");
    }
}
// The example displays output similar to the following:'
//    Version: 4.0.30319.18010
Imports Microsoft.Win32

Public Module VersionTest
   Public Sub Main()
      GetVersionFromEnvironment()
   End Sub
   
    Private Sub GetVersionFromEnvironment()
        Console.WriteLine($"Version: {Environment.Version}")
    End Sub
End Module
' The example displays output similiar to the following:'
'    Version: 4.0.30319.18010

Vea tambiénSee also