En Windows, puede instalar y ejecutar varias versiones de. NET Framework al mismo tiempo. Al desarrollar o implementar una nueva aplicación basada en bibliotecas de.NET, a veces necesita saber de antemano qué versiones y service packs de. Net Framework ya están instalados en el equipo o servidor del usuario. Puede obtener una lista de las versiones de. NET Framework instaladas en su equipo de varias maneras.
Comprobando el .Versión de NET Framework a través del Registro de Windows
Al instalar o actualizar cualquier versión de.NET Framework, los cambios se escriben en el registro de Windows.
Ejecute el Editor del registro (regedit.exe
) y vaya a clave de registro HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP. Esta clave reg contiene información sobre todas las versiones de.NET en el equipo. Expanda cualquier subclave y preste atención a los siguientes parámetros (para.Net 4.x necesita expandir la subclave completa):
- Install — indicador de instalación (si es igual a 1, entonces esta versión de .Net está instalado en el equipo);
- Ruta de instalación: el directorio donde está instalada esta versión de.Net;
- Release: número de versión de. NET;
- Version: el número de versión completo de. Net Framework.
En este ejemplo, puede ver que.NET Framework v2.0.50727, 3.0, 3.5 y 7.0 (versión 460805) están instalados.
Mediante la siguiente tabla, puede asignar el número de versión a la versión de.NET Framework (para. NET 4.5 y versiones posteriores).
Número De Versión | .NET Framework versión |
378389 | .NET Framework 4.5 |
378675 | NET Framework 4.5.1 en Windows 8.1 y Windows Server 2012 R2 |
378758 | .NET Framework 4.5.1 en Windows 8, Windows 7 SP1, Windows Vista SP2 |
379893 | .NET Framework 4.5.2 |
393295 | .NET Framework 4.6 en Windows 10 |
393297 | .NET Framework 4.6 |
394254 | .NET Framework 4.6.1 en Windows 10 1511 |
394271 | .NET Framework 4.6.1 |
394802 | .NET Framework 4.6.2 en Windows 10 1607 |
394806 | .NET Framework 4.6.2 |
460798 | .NET Framework 4.7 en Windows 10 1703 |
460805 | .NET Framework 4.7 |
461308 | .NET Framework 4.7.1 en Windows 10 1709 |
461310 | .NET Framework 4.7.1 |
461808 | .NET Framework 4.7.2 en Windows 10 1803 |
461814 | .NET Framework 4.7.2 |
528372 | .NET Framework 4.8 en Windows 10 de 2004, 20H2, y 21H1 |
528040 | .NET Framework 4.8 en Windows 10 1903 y 1909 |
528449 | .NET Framework 4.8 en Windows Server 2022 y Windows 11 |
528049 | .NET Framework 4.8 (otras versiones de windows) |
Cómo comprobar el .¿La versión de NET Framework con PowerShell?
Puede obtener información sobre las versiones y versiones instaladas de NET Framework en su equipo mediante PowerShell. La forma más sencilla de obtener esta información directamente del registro es utilizando los cmdlets Get-ChildItem
y Get-ItemProperty
(más información sobre la administración de entradas de registro con PowerShell).
Para mostrar una lista de todas las versiones de. net Framework en un equipo, ejecute el 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 versiones 2.0, 3.0, 3.5 y 4.7 están instalados en esta computadora.
Solo puede mostrar el número de versión de (. Net 4.versiones x):
(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release).Release
Según la tabla, el número 528449 corresponde a. net Framework 4.8 en Windows 11.
Lista Instalada .Versiones de RED en Equipos remotos
Puede obtener de forma remota una lista de las versiones de.Net Framework instaladas en equipos de la red mediante PowerShell.
Aquí hay un pequeño script de PowerShell que consulta una lista de equipos de un archivo de texto y comprueba de forma remota las versiones instaladas de.net Framework. El cmdlet WinRM Invoke-Command se usa para ejecutar comandos en equipos 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
El script muestra una tabla gráfica (a través de Out-GridView) con una lista de versiones de.Net Framework instaladas en equipos remotos.
También puede establecer una lista de equipos en los que comprobar la versión de. NET de la siguiente manera:
$servers= @("comp1","comp2","comp3","comp4")
También puede obtener una lista de equipos de dominio con el cmdlet Get-ADComputer (desde el módulo Active Directory para Windows PowerShell). El siguiente comando seleccionará todos los hosts de Windows Server activos en el dominio:
$servers= Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"'
¿Cómo encontrar la versión de. NET Framework con CMD?
Todas las versiones de la .NET Framework se instala en las siguientes carpetas de Windows:
%SystemRoot%\Microsoft.NET\Framework
%SystemRoot%\Microsoft.NET\Framework64
Simplemente puede abrir esa carpeta y ver una lista de las versiones de. NET instaladas. Cada versión tiene un directorio separado con una v y un número de versión como nombre de carpeta. Puede enumerar las versiones instaladas de. NET Framework desde el símbolo del sistema: