what the tengo saber que net last installed instalado framework detector como check .net .net-framework-version

.net - the - como saber que net framework tengo instalado windows 7



Determine la versiĆ³n de.NET Framework para dll (9)

Tengo un dll antiguo que se compiló en .NET framework y se implementó. No estoy seguro de qué versión del .NET framework se compiló. Me pregunto cómo puedo determinar qué versión del .NET framework compiló este dll. No puedo confiar en el código fuente porque creo que se ha actualizado a Visual Studio 2008 y se ha cambiado a .NET Framework versión 3.5.


Así de simple

var tar = (TargetFrameworkAttribute)Assembly .LoadFrom("yoursAssembly.dll") .GetCustomAttributes(typeof(TargetFrameworkAttribute)).First();


Cargarlo en Reflector y ver a qué se refiere?

por ejemplo:


Descompílelo con ILDASM, y observe la versión de mscorlib a la que se hace referencia (debería estar prácticamente en la parte superior).


En PowerShell puede usar lo siguiente para obtener el tiempo de ejecución de destino:

$path = "C:/Some.dll" [Reflection.Assembly]::ReflectionOnlyLoadFrom($path).ImageRuntimeVersion

Lo adapté a PowerShell de la respuesta de Ben Griswold .

Si desea conocer la versión de marco de destino especificada en Visual Studio, use:

$path = "C:/Some.dll" [Reflection.Assembly]::ReflectionOnlyLoadFrom($path).CustomAttributes | Where-Object {$_.AttributeType.Name -eq "TargetFrameworkAttribute" } | Select-Object -ExpandProperty ConstructorArguments | Select-Object -ExpandProperty value

Deberías obtener algo como

.NETFramework, Version = v4.5.2


Otra opción más a través de Visual Studio, agregar una referencia a la DLL a cualquier proyecto, luego hacer clic derecho en la nueva referencia y hacer clic en Propiedades, puede ver lo que está buscando en la versión Runtime:


Puedes usar ILDASM ...

ildasm.exe C:/foo.dll /metadata[=MDHEADER] /text /noil

y verifique la ''sección de metadatos'' en la salida. Sería algo como esto:

Sección de metadatos: 0x424a5342, versión: 1.1, extra: 0, versión len: 12, versión: v4.0.30319

La etiqueta ''versión'' le dirá la versión de .NET Framework. En el ejemplo anterior, es 4.0.30319


Tiene algunas opciones: para obtenerlo mediante programación, desde código administrado, use Assembly.ImageRuntimeVersion:

Dim a As Assembly = Reflection.Assembly.ReflectionOnlyLoadFrom("C:/path/assembly.dll") Dim s As String = a.ImageRuntimeVersion

Desde la línea de comandos, comenzando en v2.0, ildasm.exe lo mostrará si hace doble clic en "MANIFEST" y busca la "versión de metadatos". Determinar la versión CLR de una imagen


Utilice ILSpy ILSpy

open source, free, definitivamente una opción ya que ahora se paga el reflector.


dotPeek es una gran herramienta (gratuita) para mostrar esta información.

Si tiene algunos problemas para hacerse con Reflector, esta es una buena alternativa.