Como encontro a versão do .NET?


258

Como descubro qual versão do .NET está instalada?

Estou procurando por algo tão simples como "java -version" que eu possa digitar no prompt de comando e que me diga a (s) versão (ões) atual (is) instalada (s).

É melhor acrescentar que o Visual Studio pode não estar instalado - isso geralmente é algo que eu quero saber sobre uma máquina cliente.


2
Vá para executar e executar este comando: wmic / namespace: \\ root \ cimv2 path win32_product onde "nome como '%%. NET %%'" obtém a versão
HENG Vongkol 3/16


Respostas:


250

Basta digitar qualquer um dos comandos abaixo para obter a versão mais recente na primeira linha.

1. CSC
2. GACUTIL /l ?
3. CLRVER

Você só pode executá-las no prompt de comando do Visual Studio se você tiver o Visual Studio instalado ou, se o SDK do .NET framework estiver instalado, o prompt de comando do SDK.

4. wmic product get description | findstr /C:".NET Framework"
5. dir /b /ad /o-n %systemroot%\Microsoft.NET\Framework\v?.*

O último comando (5) listará todas as versões (exceto 4.5) do .NET instaladas, as mais recentes primeiro .
Você precisa executar o quarto comando para ver se o .NET 4.5 está instalado.

Outras três opções do prompt de comando do PowerShell são fornecidas abaixo.

6.   [environment]::Version
7.   $PSVersionTable.CLRVersion
8.   gci 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | gp -name Version,Release -EA 0 |
     where { $_.PSChildName -match '^(?!S)\p{L}'} | select PSChildName, Version, Release

O último comando (8) fornecerá todas as versões, incluindo o .NET 4.5.


6
'CSC' funcionará apenas no prompt de comando do Visual Studio (por padrão). Ele também fornecerá apenas a versão máxima do .NET framework que a versão dos destinos do compilador. - Se você possui o VS2005 e o VS2008 instalados, as diferentes versões do CSC reportarão versões diferentes.
23415 Matt Matty

15
cscgera a versão do compilador C #, não a versão do .NET Framework.
Timwi

4
O último comando não retornou a versão 4.5, apesar de achar que a tenho instalada. A resposta em stackoverflow.com/questions/3487265/… a incluiu.
Lsurprenant

2
O último comando não está mostrando a versão mais recente. Podemos procurar a versão no appwiz.cpl ou no comando 'wmic product' também é útil. windows-commandline.com/find-net-version-on-your-computer
Giri

11
Elogios ao número 8!
precisa

330

Existe uma maneira mais fácil de obter a versão exata do .NET instalada em sua máquina a partir de um prompt do cmd. Basta seguir as seguintes instruções;

  1. Abra o prompt de comando (por exemplo, Windows + R → digite "cmd").
  2. Digite o seguinte comando, tudo em uma linha:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP"

(Isso listará todas as versões do .NET.)

  1. Se você deseja verificar a versão mais recente do .NET 4.
  2. Digite as seguintes instruções, em uma única linha:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\full" /v version

Por favor, encontre a imagem anexada abaixo para ver como ela é mostrada.

Digite a descrição da imagem aqui


4
descobriu que este é o mais fácil e mais preciso (com o "* \ v4 \ Full" no final), pois ele também obtém a versão secundária com apenas um comando simples.
Ignas Vyšnia

1
Agradável. Queria algo que funcionasse no PC de um usuário e é isso. Obrigado!
1255 Kelly


6
Bom, mas não mostra as estruturas 4.5, 4.6 e 4.7 que estão instaladas na minha máquina Windows 7 :(
Zeek2 25/07

não é bem preciso; Olho em Painel de Controle> Programas e Recursos, e não há sinal do .NET .; no entanto, eu executo seu comando e ele me fornece a saída HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Setup \ NDP \ v4.0 da estrutura. Provavelmente, o .NET já foi instalado na minha máquina, não foi instalado, mas o registro não foi limpo.
Newton fan 01


30

Antes de ir para um prompt de comando, siga estas etapas ...

Abra Meu Computador → clique duas vezes em " C: " drive → clique duas vezes em " Windows " → clique duas vezes em " Microsoft.NET " → clique duas vezes em " Framework " → Dentro desta pasta, haverá pastas como "v1.0.3705" e / ou "v2.0.50727" e / ou "v3.5" e / ou "v4.0.30319".

Sua versão mais recente do .NET estaria na pasta com o número v mais alto; portanto, se a v4.0.30319 estiver disponível, manterá sua estrutura .NET mais recente. No entanto, a v4.0.30319 não significa que você possui o .NET framework versão 4.0. A v4.0.30319 é ​​sua versão do compilador Visual C #, portanto, para encontrar a versão do .NET Framework, faça o seguinte.

Vá para um prompt de comando e siga este caminho:

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 (ou qualquer outra pasta com o número v mais alto)

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319> csc.exe

Resultado:

Microsoft® Visual C # Compiler versão 4.0.30319.17929 para Microsoft® .NET Framework 4.5 Copyright (C) Microsoft Corporation. Todos os direitos reservados.

Exemplo abaixo:

Digite a descrição da imagem aqui


2
Muito bom, mas a saída é diferente, pelo menos no meu servidor - Não foi incluída a mensagem "for": lh4.googleusercontent.com/-p7Fu5GDj0cg/UywSqPTdQjI/AAAAAAAAALQ/…
Nenotlep

2
para alterar o tipo de diretório : cd C:\Windows\Microsoft.NET\Framework\v4.0.30319e, em seguida csc.exe, digite , hope hope someone.
shaijut 13/03/16

1
É principalmente eficiente quando você faz login por uma conta de usuário limitada.
Rzassar 26/10/16

10

Esta resposta é aplicável apenas ao .NET Core!

Digitar dotnet --versionno seu terminal de escolha imprimirá a versão do .NET Core SDK em uso.

Saiba mais sobre o dotnetcomando aqui .


15
É aplicável apenas ao .NET Core.
Sunil 28/01

9

Para a versão da estrutura instalada, ela varia dependendo dos service packs e hotfixes que você instalou. Dê uma olhada nesta página do MSDN para mais detalhes. Ele sugere procurar %systemroot%\Microsoft.NET\Frameworka versão.

Environment.Version programaticamente fornecerá a versão do CLR.

Observe que esta é a versão do CLR e não necessariamente a mesma que a versão mais recente da estrutura que você instalou (o .NET 3.0 e 3.5 usam a v2 do CLR).


Environment.Version parece fornecer a versão do aplicativo. Digamos, de LinqPad Eu quero encontrar a versão .NET que está correndo contra e dá-me não a versão .NET, mas a versão LinqPad
Naomi

@ Naomi: não, fornece a versão do CLR. Dos documentos: "Obtém um objeto Version que descreve os números principais, secundários, de construção e de revisão do Common Language Runtime." .
adrianbanks

O que eu devo ver neste objeto? Estou vendo 2.0.50727.5472 2 Minor 0 Desenvolver 50727 Revisão 5472 MajorRevision 0 MinorRevision 5472 que não se parece com CLR versão de tempo de execução para mim
Naomi

Carreguei a versão mais recente do LinqPad e agora estou recebendo 4.0.30319.18052 para a versão. A versão anterior estava direcionada à versão .NET 3.5. Então, ainda estou um pouco confuso - ele realmente mostra a versão CLR?
Naomi

1
@ Naomi: Sim, mostra a versão CLR. 2.0.50727.5472 é a versão do .Net 2.0 CLR, que também é usada para .Net 3.0 e 3.5. 4.0.30319.18052 é .Net 4.0, que possui um número de versão diferente.
adrianbanks

8

O MSDN detalha aqui muito bem como verificá-lo no registro:

Para encontrar versões do .NET Framework, exibindo o registro (.NET Framework 1-4)

  1. No menu Iniciar, escolha Executar.
  2. Na caixa Abrir, digite regedit.exe.Você deve ter credenciais administrativas para executar o regedit.exe.
  3. No Editor do Registro, abra a seguinte subchave:

    Instalação do Framework HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET \ NDP

As versões instaladas estão listadas na subchave NDP. O número da versão é armazenado na entrada Versão. Para o .NET Framework 4, a entrada Version está na subchave Client ou Full (em NDP) ou nas duas subchaves.

Para encontrar versões do .NET Framework, exibindo o registro (.NET Framework 4.5 e posterior)

  1. No menu Iniciar, escolha Executar.
  2. Na caixa Abrir, digite regedit.exe. Você deve ter credenciais administrativas para executar o regedit.exe.
  3. No Editor do Registro, abra a seguinte subchave:

    Instalação do Framework HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET \ NDP \ v4 \ Full

Observe que o caminho para a subchave completa inclui a subchave Net Framework em vez de .NET Framework

Verifique se há um valor DWORD chamado Release. A existência do Release DWORD indica que o .NET Framework 4.5 ou mais recente foi instalado nesse computador.

insira a descrição da imagem aqui

Nota : A última linha na captura instantânea acima que foi cortada é lida On all other OS versions: 461310. Eu tentei o meu melhor para evitar que as informações fossem cortadas enquanto fazia a captura de tela, mas a tabela era muito grande.


6

Se você abrir um prompt de comando e digitar os dois comandos a seguir, todas as versões da estrutura instaladas na máquina atual serão listadas (cada uma será armazenada em um diretório separado nesse diretório).

cd %systemroot%\Microsoft.NET\Framework

dir /A:D

8
Não recomendado, pois isso é possivelmente enganoso. Se você atualizou 4.0 => 4.5.2, o diretório poderá mostrar apenas a v4.0.30319. Veja o exemplo de Sunimal Kaluarachchi.
Dinah

6

Basta digitar o seguinte na linha de comando:

dir /b /ad /o-n %systemroot%\Microsoft.NET\Framework\v?.*

Sua versão do dotnet será mostrada como o número mais alto.


1
Ele exibe todas as versões até a 4.0, mas, por exemplo, não a 4.5.
precisa saber é o seguinte

4

Para obter apenas as versões instaladas na linha de comando, recomendo usar a versão líquida .

  • É apenas um único binário .
  • Ele usa as diretrizes fornecidas pela minha Microsoft para obter informações sobre a versão.
  • Não requer a instalação do SDK.
  • Ou o prompt de comando do Visual Studio.
  • Não exige que você use o regedit e procure as chaves do registro por conta própria. Você pode até canalizar a saída em uma ferramenta de linha de comando, se precisar.

O código-fonte está disponível no github.com

Divulgação completa: eu mesmo criei essa ferramenta por frustração.


Se esse conjunto (incompleto) de informações da versão for bom o suficiente para você, você terá mais poder.
Dan Esparza 22/03

@Shiva Você indica que acha que esse comando mostra tudo, e eu respeitosamente discordo de você. Por favor, veja o link com as diretrizes fornecidas pela Microsoft. Por exemplo: Sua consulta não mostra que eu tenho o .NET 4.6.1 instalado. Além disso, indica que tenho o 'CDF' instalado, que não é uma versão do .NET Framework.
Dan Esparza 22/03

4

Se você fizer isso com bastante frequência (como eu costumo fazer), poderá criar um atalho na área de trabalho da seguinte maneira:

  1. Clique com o botão direito na área de trabalho e selecione NovoAtalho .
  2. No campo local, cole esta sequência: powershell.exe -noexit -command "gci 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | gp -name Version,Release -EA 0 | where { $_.PSChildName -match '^(?!S)\p{L}'} | select PSChildName, Version, Release"(esta é da postagem de Binoj Antony ).
  3. Clique em Avançar . Atribua um nome ao atalho e clique em Concluir .

(OBSERVAÇÃO: Não tenho certeza se isso funciona para o 4.5, mas posso confirmar que ele funciona para o 4.6 e versões anteriores ao 4.5.)


As versões 1.0 e 1.1 não aparecem na chave de instalação do NET Framework , embora exista na pasta% systemroot% \ Microsoft.NET \ Framework \.
samis 14/12

4

Aqui está o script do Power Shell que eu usei tomando a referência de:

https://stackoverflow.com/a/3495491/148657

$Lookup = @{
    378389 = [version]'4.5'
    378675 = [version]'4.5.1'
    378758 = [version]'4.5.1'
    379893 = [version]'4.5.2'
    393295 = [version]'4.6'
    393297 = [version]'4.6'
    394254 = [version]'4.6.1'
    394271 = [version]'4.6.1'
    394802 = [version]'4.6.2'
    394806 = [version]'4.6.2'
    460798 = [version]'4.7'
    460805 = [version]'4.7'
    461308 = [version]'4.7.1'
    461310 = [version]'4.7.1'
    461808 = [version]'4.7.2'
    461814 = [version]'4.7.2'
    528040 = [version]'4.8'
    528049 = [version]'4.8'
}

# For One True framework (latest .NET 4x), change the Where-Oject match 
# to PSChildName -eq "Full":
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse |
  Get-ItemProperty -name Version, Release -EA 0 |
  Where-Object { $_.PSChildName -match '^(?!S)\p{L}'} |
  Select-Object @{name = ".NET Framework"; expression = {$_.PSChildName}}, 
@{name = "Product"; expression = {$Lookup[$_.Release]}}, 
Version, Release

O script acima utiliza o registro e fornece o número de atualização do Windows junto com o .Net Framework instalado em uma máquina.

Referência: https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#to-find-net-framework-versions-by- consultando o registro no código net-framework-45-and-later

Aqui estão os resultados para o mesmo ao executar esse script em duas máquinas diferentes

  1. Onde o .NET 4.7.2 já estava instalado:

insira a descrição da imagem aqui

  1. Onde o .NET 4.7.2 não foi instalado:

insira a descrição da imagem aqui


3

Meu Deus, tanta bagunça para encontrar a versão do quadro .net instalado?

Windows> Pesquisa> Visual Studio Installer> para a versão instalada do VS, toque em Mais> Modificar> Componentes individuais e veja-o:

insira a descrição da imagem aqui



1

clrveré excelente. Basta executá-lo no prompt do .NET e ele listará todas as versões de estrutura disponíveis.


3
Essa ferramenta requer não apenas a estrutura do .NET para ser instalada, mas o Visual Studio. O OP indicou que o Visual Studio pode não estar instalado.
Dan Esparza

E não mostra todas (ou mesmo a maioria) versões. Para o meu PC Win7, o programa mostra apenas as versões V2.0 e 4.0, mas alguns dos outros métodos acima também mostram versões: 3.0, 3.5, 4.5, 4.5.1, 4.5.2, 4.6.1 e 4.7.
Zeek2

1
O @Zeek clrvermostra os tempos de execução .net instalados , que podem ser compartilhados entre as versões .net . Consulte Como determinar quais versões do .NET Framework estão instaladas e identificar a versão do .NET que você está executando (2.0, 4.5, 4.5.1 ou 4.5.2)
samis

1

Para quem executa o Windows 10 1607 e procura o .net 4.7 . Desconsidere todos os itens acima.

Não está na pasta Registry , C: \ Windows \ Microsoft.NET, na lista de Programas Instalados ou na exibição WMIC dessa mesma lista.

Procure por "atualizações instaladas" KB3186568.


1
Está no registro, conforme documentado pela Microsoft . HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full- o Releasevalor será 460798para 4,7 no W10 1607.
Richard Deeming

Não é. A chave "Completo" nem existe.
Skrie #

1
É, e faz. Estou executando o 1607 e estou olhando para a Fullchave agora!
Richard Deeming


0

Se você estiver desenvolvendo algum aplicativo .Net (por exemplo, aplicativo web), poderá criar 1 linha de código de erro (como chamar o nome da função incorreta) e recarregar sua página, a versão .Net será exibidainsira a descrição da imagem aqui


Provavelmente não é o caminho mais limpo, mas de fato uma opção que esqueci totalmente. Um simples GACUTIL /l ?no seu PowerShell (desenvolvedor) produz o mesmo.
B - rian 13/01

-1

Existe uma maneira mais fácil de obter a versão exata do .NET instalada em sua máquina a partir de um prompt do cmd. Basta seguir as seguintes instruções;

Abra o prompt de comando (ou seja, Windows + R → digite "cmd") e digite o seguinte comando, tudo em uma linha:% windir% \ Microsoft.NET \ FrameWork e navegue até o diretório com o número da versão mais recente.

Consulte http://dotnettec.com/check-dot-net-framework-version/


Estou recebendo este erro ao tentar seguir a sua resposta:'C:\Windows\Microsoft.NET\FrameWork' is not recognized as an internal or external command, operable program or batch file.
pavjel
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.