Como: Determinar quais versões do .NET Framework estão instaladasHow to: Determine which .NET Framework versions are installed

Você pode instalar e executar várias versões do .NET Framework em seus computadores.Users can install and run multiple versions of the .NET Framework on their computers. Quando você desenvolve ou implanta um aplicativo, é necessário saber qual versão do .NET Framework está instalada no computador do usuário.When you develop or deploy your app, you might need to know which .NET Framework versions are installed on the user’s computer. Observe que o .NET Framework consiste em dois componentes, que são versões separadas:Note that the .NET Framework consists of two main components, which are versioned separately:

  • Um conjunto de assemblies que são coleções de tipos e recursos que fornecem a funcionalidade para os aplicativos.A set of assemblies, which are collections of types and resources that provide the functionality for your apps. O .NET Framework e assemblies que compartilham o mesmo número de versão.The .NET Framework and assemblies share the same version number.

  • O Common Language Runtime (CLR) que gerencia e executa o código dos aplicativos.The common language runtime (CLR), which manages and executes your app's code. O CLR é identificado pelo seu próprio número de versão (confira Versões e dependências).The CLR is identified by its own version number (see Versions and Dependencies).

Para obter uma lista precisa nas versões do .NET Framework instaladas no computador, você pode ver o Registro ou consultar o Registro em 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:

Encontrar as versões 1 a 4 do .NET Framework no RegistroFind .NET Framework versions 1-4 in the registry
Encontrar versões 4.5 e posteriores do .NET Framework no RegistroFind .NET Framework versions 4.5 and later in the registry)
Usar o código para consultar o Registro (versões 1 a 4)Using code to query the registry (versions 1-4)
Usar o código para consultar o Registro (versões 4.5 e posteriores)Using code to query the registry (version 4.5 and later)
Uso do PowerShell para consultar o Registro (versões 4.5 e posteriores)Using PowerShell to query the registry (version 4.5 and later)

Para encontrar a versão CLR, é possível usar uma ferramenta ou código:To find the CLR version, you can use a tool or code:

Usar a ferramenta ClrverUsing the Clrver tool
Usar o código para consultar a classe System.EnvironmentUsing code to query the System.Environment class

Observação

Há uma diferença entre a versão do .NET Framework e a versão de CLR (common language runtime).There is a difference between the .NET Framework version and the common language runtime (CLR) version. O .NET Framework tem controle de versão com base no conjunto de assemblies que forma a Biblioteca de Classes do .NET Framework.The .NET Framework is versioned based on the set of assemblies that form the .NET Framework Class Library. Por exemplo, versões do .NET Framework incluem 4.5, 4.6.1 e 4.7.2.For example, .NET Framework versions include 4.5, 4.6.1, and 4.7.2. O CLR tem controle de versão com base no tempo de execução no qual os aplicativos .NET Framework são executados, e uma única versão do CLR geralmente oferece suporte a várias versões do .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. O CLR versão 4.30319.xxxxx dá suporte ao .NET Framework versões 4 a 4.5.2; o CLR versão 4.30319.42000 dá suporte a versões do .NET Framework a partir do .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 obter mais informações, consulte a propriedade Environment.Version.For more information, see the Environment.Version property.

Para obter informações sobre como detectar as atualizações instaladas para cada versão do .NET Framework, confira Como: Determinar quais atualizações do .NET Framework estão 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 obter mais informações sobre como instalar o .NET Framework, consulte Instalar o .NET Framework para desenvolvedores.For information about installing the .NET Framework, see Install the .NET Framework for developers.

Encontrar versões 1-4 do .NET Framework no RegistroFind .NET Framework versions 1-4 in the registry

  1. No menu Iniciar, escolha Executar.On the Start menu, choose Run.

  2. Na caixa Abrir, insira regedit.exe.In the Open box, enter regedit.exe.

    Você deve ter credenciais administrativas para executar o regedit.exe.You must have administrative credentials to run regedit.exe.

  3. No Editor do Registro, abrir a seguinte subchave:In the Registry Editor, open the following subkey:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

    Para o .NET Framework versões 1.1 a 3.5, as versões instaladas são listadas como as subchaves da subchave NDP.For .NET Framework versions 1.1 through 3.5, the installed versions are listed as subkeys under the NDP subkey. O número de versão é armazenado na entrada Version da subchave da versão.The version number is stored in the version subkey's Version entry.

    Para o .NET Framework 4, a entrada Version está sob a subchave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.0\Client, a subchave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.0\Full ou sob as duas subchaves.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.

    Observação

    A pasta "NET Framework Setup” no Registro não começa por um ponto.The "NET Framework Setup" folder in the registry does not begin with a period.

    A figura a seguir mostra a subchave para o .NET Framework 3.5, juntamente com sua entrada Version.The following figure shows that the subkey for the .NET Framework 3.5 along with its Version entry.

    A entrada do Registro para o .NET Framework 3.5.The registry entry for the .NET Framework 3.5.

Encontrar versões 4.5 do .NET Framework no RegistroFind .NET Framework versions 4.5 and later in the registry

  1. No menu Iniciar, escolha Executar.On the Start menu, choose Run.

  2. Na caixa Abrir, insira regedit.exe.In the Open box, enter regedit.exe.

    Você deve ter credenciais administrativas para executar o regedit.exe.You must have administrative credentials to run regedit.exe.

  3. No Editor do Registro, abrir a seguinte subchave:In the Registry Editor, open the following subkey:

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

    Observe que o caminho até a subchave Full inclui a subchave Net Framework em vez de .NET Framework.Note that the path to the Full subkey includes the subkey Net Framework rather than .NET Framework.

    Observação

    Se a subchave Full não estiver presente, então você não terá o .NET Framework 4.5 ou posterior instalado.If the Full subkey is not present, then you do not have the .NET Framework 4.5 or later installed.

    Procure um valor DWORD chamado Release.Check for a DWORD value named Release. A existência do DWORD Release indica que o .NET Framework 4.5 ou posterior foi instalado no computador.The existence of the Release DWORD indicates that .NET Framework 4.5 or later has been installed on that computer. Seu valor é uma chave de versão que corresponde a uma versão específica do .NET Framework.Its value is a release key that corresponds to a particular version of .NET Framework. Na figura a seguir, por exemplo, o valor do DWORD Release é 378389, que é a chave de versão do .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.

    A entrada do Registro para o .NET Framework 4.5. The registry entry for the .NET Framework 4.5.

A tabela a seguir lista o valor mínimo do DWORD Release para cada versão do .NET Framework.The following table lists the minimum value of the Release DWORD for each .NET Framework version. Use esses valores da seguinte maneira:You can use these values as follows:

  • Para determinar se uma versão mínima do .NET Framework está presente, teste se o valor de DWORD Release encontrado no Registro é maior ou igual ao valor listado na tabela.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 exemplo, se o seu aplicativo exigir o .NET Framework 4.7 ou posterior, você verificaria a existência de um valor de versão mínima de 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 testar várias versões, comece com a versão mais recente do .NET Framework e, em seguida, teste cada versão anterior sucessiva.To test for multiple versions, begin with the latest .NET Framework version, and then test for each successive earlier version.

Importante

A tabela a seguir lista apenas as chaves de versões lançadas do .NET Framework.The following table lists the keys of released versions of the .NET Framework only. Ela não lista as chaves de versão prévia ou versões de pré-lançamento.It doesn't list the keys of preview or pre-release versions.

Versão do .NET Framework.NET Framework Version Valor da liberação de DWORDValue 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 ver uma tabela completa de chaves de versão para o .NET Framework para versões específicas do sistema operacional Windows, consulte Chaves de versão do .NET Framework e versões do sistema operacional 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.

Encontrar versões 1-4 do .NET Framework com códigoFind .NET Framework versions 1-4 with code

  • Use a classe Microsoft.Win32.RegistryKey para acessar a subchave Software\Microsoft\NET Framework Setup\NDP\ sob o branch HKEY_LOCAL_MACHINE no Registro do 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.

    O código a seguir mostra um exemplo dessa consulta.The following code shows an example of this query.

    Observação

    Esse código não mostra como detectar o .NET Framework 4.5 ou posterior.This code does not show how to detect .NET Framework 4.5 or later. Verifique a DWORD Release para detectar as versões, conforme descrito na seção anterior.Check the Release DWORD to detect those versions, as described in the previous section. Para conhecer o código que detecta o .NET Framework 4.5 ou versões posteriores, confira a próxima seção neste artigo.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
    

Encontrar versões 4.5 e posteriores do .NET Framework com códigoFind .NET Framework versions 4.5 and later with code

  1. A existência do DWORD Release na chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full indica que o .NET Framework 4.5 ou posterior foi instalado no computador.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. O valor da palavra-chave indica a versão instalada.The value of the keyword indicates the installed version. Para verificar essa palavra-chave, use os métodos RegistryKey.OpenBaseKey e RegistryKey.OpenSubKey para acessar a subchave no Registro do Windows.To check this keyword, use the RegistryKey.OpenBaseKey and RegistryKey.OpenSubKey methods to access the subkey in the Windows registry.

  2. Verifique o valor da palavra-chave Release para determinar a versão instalada.Check the value of the Release keyword to determine the installed version. Para ser compatível com versões posteriores, você pode verificar um valor maior ou igual ao valor listado na tabela, na seção Encontrar versões 4.5 e posteriores do .NET Framework no 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.

O exemplo a seguir verifica o valor Release no Registro para determinar se o .NET Framework 4.5 ou uma versão posterior está instalada.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 exemplo segue a prática recomendada para a verificação de versão:This example follows the recommended practice for version checking:

  • Ele verifica se o valor da entrada Release é maior ou igual ao valor das chaves de versão conhecidas.It checks whether the value of the Release entry is greater than or equal to the value of the known release keys.

  • Ele verifica na ordem da versão mais recente para a versão mais antiga.It checks in order from most recent version to earliest version.

Verificar se há uma versão mínima necessária do .NET Framework (4.5 e posterior) com o PowerShellCheck for a minimum required .NET Framework version (4.5 and later) with PowerShell

O exemplo a seguir verificará o valor da palavra-chave Release para determinar se o .NET Framework 4.6.2 ou superior está instalado (retornando True se estiver, e False, caso contrário).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.

Localizar a versão atual do CLR com Clrver.exeFind the current CLR version with Clrver.exe

Use a Ferramenta de Versão do CLR (Clrver.exe) para determinar quais versões do Common Language Runtime estão instaladas em um computador.Use the CLR Version Tool (Clrver.exe) to determine which versions of the common language runtime are installed on a computer.

Usando um Prompt de Comando do Desenvolvedor para o Visual Studio, insira clrver.From a Developer Command Prompt for Visual Studio, enter clrver. Esse comando gera uma saída semelhante à seguinte:This command produces output similar to the following:

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

Para saber mais sobre como usar essa ferramenta, veja Clrver.exe (Ferramenta de Versão do CLR).For more information about using this tool, see Clrver.exe (CLR Version Tool).

Localizar a versão atual do CLR com a classe EnvironmentFind the current CLR version with the Environment class

Recupere o valor da propriedade Environment.Version para recuperar um objeto Version que identifica a versão do tempo de execução que está executando o 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. Essa propriedade retorna um valor único que reflete a versão do tempo de execução que está executando o código; ela não retorna versões de assembly ou outras versões do tempo de execução que podem ter sido instaladas no computador. Você pode usar a propriedade Version.Major para obter o identificador de versão principal (por exemplo, "4" para a versão 4.0), a propriedade Version.Minor para obter o identificador de versão secundária (por exemplo, "0" para a versão 4.0), ou o método Version.ToString para obter a cadeia de caracteres completa da versão (por exemplo, "4.0.30319.18010", conforme mostra o código a seguir).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 as versões do .NET Framework 4, 4.5, 4.5.1 e 4.5.2, a propriedade Environment.Version retorna um objeto Version cuja representação da cadeia de caracteres tem a 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 o .NET Framework 4.6 e posterior, ela tem a forma 4.0.30319.42000.For the .NET Framework 4.6 and later, it has the form 4.0.30319.42000.

Importante

Para o .NET Framework 4.5 e posterior, não é recomendado o uso da propriedade Environment.Version para detectar a versão do tempo de execução.For the .NET Framework 4.5 and later, we do not recommend using the Environment.Version property to detect the version of the runtime. Em vez disso, recomendamos a consulta do Registro, conforme descrito na seção Para encontrar versões do .NET Framework consultando o Registro no código (.NET Framework 4.5 e posterior) neste artigo.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.

O exemplo a seguir usou a propriedade Environment.Version para recuperar informações de versão do tempo de execução: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

Consulte tambémSee also