Pregunta

Para solucionar problemas de una instalación, a veces solo quiero una respuesta rápida a qué versión de .NET está instalada.

¿Hay alguna manera de determinar la versión de .NET Framework en un sistema de Windows estándar, aparte de mirar los directorios?

NOTA: Esto no es para una máquina de desarrollo, solo ventanas listas para usar

Lo siguiente funciona, pero estoy buscando una manera más simple.

Dir %Windir % Microsoft.net Framework V*

Directory of C:\Windows\Microsoft.Net\Framework

07/13/2009  07:20 PM    <DIR>          v1.0.3705
07/13/2009  07:20 PM    <DIR>          v1.1.4322
01/20/2010  01:16 PM    <DIR>          v2.0.50727
07/13/2009  09:37 PM    <DIR>          v3.0
01/20/2010  01:02 PM    <DIR>          v3.5
02/10/2010  03:20 AM    <DIR>          v4.0.21006

ACTUALIZACIÓN: No es una solución, pero otro listado formateado de directorio genial

Dir %Windir % Microsoft.net Framework V* /O: -n /B

v4.0.21006
v3.5
v3.0
v2.0.50727
v1.1.4322
v1.0.3705
¿Fue útil?

Solución

Basado en su actualización que indica que esto es para caminar a un usuario final no experto en tecnología a través de ella, sugiero ir al sitio de Scott Hanselman http://www.smallestdotnet.com (Use Internet Explorer) que utiliza la cadena de agente de usuario para decirle qué marco .NET tiene y le da recomendaciones para llegar a la última versión de la manera más eficiente.

Respuesta
Con PowerShell podría hacer esto (aunque la presencia de PowerShell ya implica al menos .NET 2.0)

Get-ChildItem "$($Env:WinDir)\Microsoft.Net\Framework" -i mscorlib.dll -r |
    ForEach-Object { $_.VersionInfo.ProductVersion }

No sé si hay una forma comparable de obtener la información de la versión en Old Old Crusty Cmd.exe.

Otros consejos

reg query "HKLM\Software\Microsoft\NET Framework Setup\NDP" /s /v version | findstr /i version | sort /+26 /r

La entrada superior es la última versión del marco instalado.

Nota: Esto no funciona con v1.x del marco.

Actualizar: Me perdí el comentario de que estás buscando algo para decirle a tu papá por teléfono. Si ese es el caso, el comando anterior probablemente no sea el mejor enfoque para usted. Es mejor que solo le diga a su padre que abra el explorador de Windows y lo navegue al directorio del marco .NET y le dice los números allí.

Simplemente abra el símbolo del sistema VS2008 y escriba clrver

EDITAR: Mi respuesta es irrelevante para la pregunta OP (que fue editada después de que originalmente respondí).

De acuerdo a MSDN También puede usar el registro para verificar las versiones instaladas.

Además este El sitio afirma que hay una aplicación de línea de comandos llamada CSC que puede usar; sin embargo, no lo he probado, uso la forma del registro durante las instalaciones que ejecuto.

Lo siguiente detectaría si .NET Framework 3.5 está instalado o no ... y si no se instala lo instalará. Simplemente ejecute esto en el símbolo del sistema.

if exist "%WINDIR%\Microsoft.Net\Framework\v3.5" goto end start /wait .\Framework\dotnetfx.exe /q /norestart" :end 

Si desea detectar otras versiones, simplemente reemplace v3.5 con v2.0 o v1.0 según sea el caso. Además, si .NET no se detecta, la instalación del marco .NET se realizaría en modo silencioso, es decir, ninguna interfaz de usuario o interacción de usuario.

Hay un artículo publicado en Moderno Eso puede hacer exactamente eso más su línea de comando basada.

Espero que esto ayude.

El número de versión más alto de esa lista de directorio es la versión instalada.

Como puede ver, cualquier versión incluye todas las versiones anteriores, por lo que verifique si hay soporte de versión específica = verifique ese directorio específico.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top