no Windows, você pode instalar e executar várias versões do.NET Framework ao mesmo tempo. Ao desenvolver ou implantar um novo aplicativo baseado em bibliotecas.net, às vezes você precisa saber com antecedência quais versões e service packs do. NET Framework já estão instalados no computador ou servidor do Usuário. Você pode obter uma lista das versões do. NET Framework instaladas em seu computador de várias maneiras.
verificando o.Versão NET Framework através do registro do Windows
quando você instala ou atualiza qualquer versão do.NET Framework, as alterações são gravadas no registro do Windows.
execute o Editor do registro (regedit.exe
) e vá para a chave de Registro HKLM\SOFTWARE\Microsoft\NET Framework Setup \ NDP. Esta chave reg contém informações sobre todas as versões do. NET no computador. Expanda qualquer subchave e preste atenção aos seguintes parâmetros (para.Net 4.x você precisa expandir a subchave completa):
- instalar-sinalizador de instalação (se igual a 1, então esta versão de .Net está instalado no computador);
- Install Path – o diretório onde esta versão. Net está instalada;
- Release—. net release number;
- Version — O número da versão completa do. NET Framework.
neste exemplo, você pode ver que o.NET Framework v2.0.50727, 3.0, 3.5 e 7.0 (versão 460805) estão instalados.
usando a tabela a seguir, você pode mapear o número de lançamento para a versão do.NET Framework (para. NET 4.5 e mais recente).
Número De Lançamento | .NET Framework versão |
378389 | .NET Framework 4.5 |
378675 | NET Framework 4.5.1 no Windows 8.1 e Windows Server 2012 R2 |
378758 | .NET Framework 4.5.1 no Windows 8, Windows 7 SP1, Windows Vista SP2 |
379893 | .NET Framework 4.5.2 |
393295 | .NET Framework 4.6 no Windows 10 |
393297 | .NET Framework 4.6 |
394254 | .NET Framework 4.6.1 no Windows 10 1511 |
394271 | .NET Framework 4.6.1 |
394802 | .NET Framework 4.6.2 no Windows 10 1607 |
394806 | .NET Framework 4.6.2 |
460798 | .NET Framework 4.7 no Windows 10 1703 |
460805 | .NET Framework 4.7 |
461308 | .NET Framework 4.7.1 no Windows 10 1709 |
461310 | .NET Framework 4.7.1 |
461808 | .NET Framework 4.7.2 no Windows 10 1803 |
461814 | .NET Framework 4.7.2 |
528372 | .NET Framework 4.8 no Windows 10 de 2004, 20H2, e 21H1 |
528040 | .NET Framework 4.8 no Windows 10 1903 e 1909 |
528449 | .NET Framework 4.8 no Windows Server 2022 e Windows 11 |
528049 | .NET Framework 4.8 (outras versões Janela) |
Como verificar o .Versão NET Framework com PowerShell?
você pode obter informações sobre versões instaladas e versões do NET Framework em seu computador usando o PowerShell. A maneira mais fácil de obter essas informações diretamente do registro é usando os cmdlets Get-ChildItem
e Get-ItemProperty
(mais sobre como gerenciar entradas de registro com o PowerShell).
Para exibir uma lista de todas as versões do os .Net Framework em um computador, execute o comando:
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | Get-ItemProperty -Name version -EA 0 | Where { $_.PSChildName -Match '^(?!S)\p{L}'} | Select PSChildName, version
.Net versões 2.0, 3.0, 3.5 e 4.7 estão instalados neste computador.
você pode exibir apenas o número de lançamento para (. Net 4.x versões):
(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release).Release
verifique o net framework número com o powershell
de Acordo com a tabela, o número 528449 corresponde ao .Net Framework 4.8 no Windows 11.
Lista Instalada .Versões NET em computadores remotos
você pode obter remotamente uma lista das versões do. NET Framework instaladas em computadores em sua rede usando o PowerShell.
aqui está um pequeno script PowerShell que consulta uma lista de computadores de um arquivo de texto e verifica remotamente as versões instaladas do.NET Framework. O cmdlet WinRM Invoke-Command é usado para executar comandos em computadores remotos.
Function GetNetFrameworkVersion {
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |
Get-ItemProperty -name Version,Release -EA 0 |
Where { $_.PSChildName -match '^(?!)\p{L}'} |
Select PSChildName, Version, Release, @{
name="Product"
expression={
switch -regex ($_.Release) {
"378389" { "4.5" }
"378675|378758" { "4.5.1" }
"379893" { "4.5.2" }
"393295|393297" { "4.6" }
"394254|394271" { "4.6.1" }
"394802|394806" { "4.6.2" }
"460798|460805" { "4.7" }
"461308|461310" { "4.7.1" }
"461808|461814" { "4.7.2" }
"528040|528049|528449|528372" { "4.8" }
{$_ -gt 528449} { "unidentified version (> 4.8)" }
}
}
}
}
$result=@()
$servers= Get-Content C:\Scripts\my_servers.txt
foreach ($server in $servers)
{
$result+=Invoke-Command -ComputerName $server -ScriptBlock $function:GetNetFrameworkVersion
}
$result| select PSComputerName,@{name = ".NET Framework"; expression = {$_.PSChildName}},Product,Version,Release| Out-GridView
o script exibe uma tabela gráfica (via Out-GridView) com uma lista de versões do.NET Framework instaladas em computadores remotos.
Você também pode definir uma lista de computadores no qual verificar o .NET versão da seguinte forma:
$servers= @("comp1","comp2","comp3","comp4")
Ou você pode obter uma lista de computadores de domínio com o Get-ADComputer cmdlet (a partir do Active Directory para o Windows PowerShell módulo). O comando a seguir selecionará todos os hosts ativos do Windows Server no domínio:
$servers= Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"'
como descobrir a versão do. NET Framework com CMD?
todas as versões do .NET Framework são instalados nas seguintes pastas do Windows:
%SystemRoot%\Microsoft.NET\Framework
%SystemRoot%\Microsoft.NET\Framework64
Você pode simplesmente abrir pasta e ver uma lista de instalado .NET versões. Cada versão tem um diretório separado com um v e um número de versão como o nome da pasta. Você pode listar as versões instaladas do. NET Framework no prompt de comando: