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:

Visualizar o Registro (versões 1 a 4)Viewing the registry (versions 1-4)
Visualizar o Registro (versões 4.5 e posteriores)Viewing the registry (version 4.5 and later)
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

Para saber mais sobre como detectar as atualizações instaladas para cada versão do .NET Framework, veja 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.

Para encontrar versões do .NET Framework visualizando o Registro (.NET Framework 1 a 4)To find .NET Framework versions by viewing the registry (.NET Framework 1-4)

  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

    As versões instaladas estão listadas abaixo da subchave NDP.The installed versions are listed under the NDP subkey. O número de versão é armazenado na entrada Version.The version number is stored in the Version entry. Para o .NET Framework 4.NET Framework 4, a entrada Version está sob a subchave Client ou Full (em NDP) ou em ambas as subchaves.For the .NET Framework 4.NET Framework 4 the Version entry is under the Client or Full subkey (under NDP), 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.

Para encontrar versões do .NET Framework visualizando o Registro (.NET Framework 4.5 e posteriores)To find .NET Framework versions by viewing the registry (.NET Framework 4.5 and later)

  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 da DWORD Release indica que o .NET Framework 4.5.NET Framework 4.5 ou mais recente foi instalado naquele computador.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.

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

    O valor do DWORD de Release indica qual versão do .NET Framework está instalada.The value of the Release DWORD indicates which version of the .NET Framework is installed.

    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.

    Valor da liberação de DWORDValue of the Release DWORD VersãoVersion
    378389378389 .NET Framework 4.5.NET Framework 4.5
    378675378675 .NET Framework 4.5.1 instalado com Windows 8.1 ou 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 no Windows 8, Windows 7 SP1 ou 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
    Somente em sistemas Windows 10: 393295On Windows 10 systems only: 393295

    Em todas as outras versões do sistema operacional: 393297On all other OS versions: 393297
    .NET Framework 4.6.NET Framework 4.6
    Somente em sistemas com a Atualização de novembro do Windows 10: 394254On Windows 10 November Update systems only: 394254

    Em todas as outras versões do sistema operacional: 394271On all other OS versions: 394271
    .NET Framework 4.6.1.NET Framework 4.6.1
    Na Atualização de Aniversário do Windows 10 e Windows Server 2016: 394802On Windows 10 Anniversary Update and Windows Server 2016: 394802

    Em todas as outras versões do sistema operacional: 394806On all other OS versions: 394806
    .NET Framework 4.6.2.NET Framework 4.6.2
    Somente na Atualização do Windows 10 para Criadores: 460798On Windows 10 Creators Update only: 460798

    Em todas as outras versões do sistema operacional: 460805On all other OS versions: 460805
    .NET Framework 4.7.NET Framework 4.7
    Somente no Windows 10 Fall Creators Update: 461308On Windows 10 Fall Creators Update only: 461308

    Em todas as outras versões do sistema operacional: 461310On all other OS versions: 461310
    .NET Framework 4.7.1.NET Framework 4.7.1
    Somente na Atualização de outubro de 2018 para o Windows 10: 461814On Windows 10 October 2018 Update only: 461814

    Somente na Atualização de abril de 2018 do Windows 10: 461808On Windows 10 April 2018 Update only: 461808

    Em todas as outras versões do sistema operacional: 461814On all other OS versions: 461814
    .NET Framework 4.7.2.NET Framework 4.7.2

Para encontrar versões do .NET Framework consultando o Registro em código (.NET Framework 1 a 4)To find .NET Framework versions by querying the registry in code (.NET Framework 1-4)

  • Use a classe Microsoft.Win32.RegistryKey para acessar a subchave Software\Microsoft\NET Framework Setup\NDP\ em 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 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

    Este código não mostra como detectar o .NET Framework 4.5.NET Framework 4.5 ou posterior.This code does not show how to detect the .NET Framework 4.5.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 saber o código que detecta o .NET Framework 4.5.NET Framework 4.5 ou versões posteriores, veja a próxima seção deste artigo.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
    

    O exemplo produz uma saída semelhante à seguinte: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 encontrar versões do .NET Framework consultando o Registro em código (.NET Framework 4.5 e posteriores)To find .NET Framework versions by querying the registry in code (.NET Framework 4.5 and later)

  1. A existência de DWORD Release indica que o .NET Framework 4.5 ou posteriores foi instalado no computador.The existence of the Release DWORD indicates that the .NET Framework 4.5 or later has been 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 a palavra-chave, use os métodos OpenBaseKey e OpenSubKey da classe Microsoft.Win32.RegistryKey para acessar a subchave Software\Microsoft\NET Framework Setup\NDP\v4\Full em HKEY_LOCAL_MACHINE no registro do 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. 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 direto, você pode verificar se há um valor maior ou igual aos valores listados na tabela.To be forward-compatible, you can check for a value greater than or equal to the values listed in the table. Veja a seguir as versões e palavras-chave Release associadas do .NET Framework.Here are the .NET Framework versions and associated Release keywords.

    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ãoVersion Valor da liberação de DWORDValue of the Release DWORD
    .NET Framework 4.5.NET Framework 4.5 378389378389
    .NET Framework 4.5.1 instalado com Windows 8.1.NET Framework 4.5.1 installed with Windows 8.1 378675378675
    .NET Framework 4.5.1 instalado no Windows 8, Windows 7 SP1 ou 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 com o Windows 10.NET Framework 4.6 installed with Windows 10 393295393295
    .NET Framework 4.6 instalado em todas as outras versões do sistema operacional Windows.NET Framework 4.6 installed on all other Windows OS versions 393297393297
    .NET Framework 4.6.1 instalado no Windows 10.NET Framework 4.6.1 installed on Windows 10 394254394254
    .NET Framework 4.6.1 instalado em todas as outras versões do sistema operacional Windows.NET Framework 4.6.1 installed on all other Windows OS versions 394271394271
    .NET Framework 4.6.2 instalado na Atualização de Aniversário do Windows 10 e no 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 em todas as outras versões do sistema operacional Windows.NET Framework 4.6.2 installed on all other Windows OS versions 394806394806
    .NET Framework 4.7 instalado no Windows 10 Creators Update.NET Framework 4.7 installed on Windows 10 Creators Update 460798460798
    .NET Framework 4.7 instalado em todas as outras versões do sistema operacional Windows.NET Framework 4.7 installed on all other Windows OS versions 460805460805
    .NET Framework 4.7.1 instalado no Windows 10 Falls Creators Update.NET Framework 4.7.1 installed on Windows 10 Fall Creators Update 461308461308
    .NET Framework 4.7.1 instalado em todas as outras versões do sistema operacional Windows.NET Framework 4.7.1 installed on all other Windows OS versions 461310461310
    .NET Framework 4.7.2 instalado na Atualização de outubro de 2018 para o Windows 10.NET Framework 4.7.2 installed on Windows 10 October 2018 Update 461814461814
    .NET Framework 4.7.2 instalado na Atualização de abril de 2018 do Windows 10.NET Framework 4.7.2 installed on Windows 10 April 2018 Update 461808461808
    .NET Framework 4.7.2 instalado no Windows 10 Fall Creators Update e nas versões anteriores do sistema operacional.NET Framework 4.7.2 installed on Windows 10 Fall Creators Update and earlier OS versions 461814461814

    A exemplo a seguir verifica o valor Release no Registro para determinar se o .NET Framework 4.5.NET Framework 4.5 ou uma versão posterior do .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 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.

Para verificar se há uma versão do .NET Framework mínima necessária consultando o Registro no PowerShell (.NET Framework 4.5 e versões posteriores)To check for a minimum-required .NET Framework version by querying the registry in PowerShell (.NET Framework 4.5 and later)

  • O exemplo a seguir verificará o valor da palavra-chave Release para determinar se o .NET Framework 4.6.2 ou superior estiver instalado, independentemente da versão do sistema operacional Windows (retornando True se ele for 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, 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 } 
    

    É possível substituir 394802 no exemplo anterior por outro valor da tabela a seguir para verificar se há uma versão mínima necessária do .NET Framework diferente.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.

    VersãoVersion Valor mínimo da versão DWORDMinimum value of the Release DWORD
    .NET Framework 4.5.NET Framework 4.5 378389378389
    .NET Framework 4.5.1.NET Framework 4.5.1 378675378675
    .NET Framework 4.5.2.NET Framework 4.5.2 379893379893
    .NET Framework 4.6.NET Framework 4.6 393295393295
    .NET Framework 4.6.1.NET Framework 4.6.1 394254394254
    .NET Framework 4.6.2.NET Framework 4.6.2 394802394802
    .NET Framework 4.7.NET Framework 4.7 460798460798
    .NET Framework 4.7.1.NET Framework 4.7.1 461308461308
    .NET Framework 4.7.2.NET Framework 4.7.2 461808461808

Para localizar a versão de tempo de execução atual usando a ferramenta ClrverTo find the current runtime version by using the Clrver tool

  • 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.

    Em um prompt de comando do Visual Studio, insira clrver.From a Visual Studio Command Prompt, 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 do tempo de execução atual ao consultar a classe Environment no códigoTo find the current runtime version by querying the Environment class in code

  • Consulte a propriedade Environment.Version para recuperar um objeto Version que identifica a versão do tempo de execução que está executando o 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. 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 Object.ToString para obter a cadeia de caracteres de versão inteira (por exemplo, "4.0.30319.18010", conforme mostrado no código a seguir).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). 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 do assembly ou outras versões de tempo de execução que podem ter sido instaladas no computador.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 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.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.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.

    Veja um exemplo de consulta da propriedade Environment.Version para obtenção de informações de versão do tempo de execução: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
    
    

    O exemplo produz uma saída semelhante à seguinte:The example produces output that's similar to the following:

    Version: 4.0.30319.18010
    

Consulte tambémSee also

Como determinar quais atualizações do .NET Framework estão instaladasHow to: Determine Which .NET Framework Updates Are Installed
Instalar o .NET Framework para desenvolvedoresInstall the .NET Framework for developers
Versões e dependênciasVersions and Dependencies