2010-10-15 66 views
15

¿Hay alguna forma de obtener AssemblyVersion de un ejecutable .Net en Linux sin usar mono? Lo que intento tener es un script o comando que me permita obtener AssemblyVersion en Linux boxes. Intenté: Cómo obtener la AssemblyVersion de un archivo .Net en Linux

#strings file.exe | grep AssemblyVersion
pero solo la cadena y no el número. También se verificó con:
#file file.exe
pero solo obtuvo información general.

¿Alguna idea?

Respuesta

5

tratar de igualar los números de versión que abarcan toda una línea:

$ strings file.exe | egrep '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$' 

En mis (pocos) pruebas, el AssemblyVersion del binario siempre era el último resultado.

+0

Lo probé, pero ninguno de los números que obtengo es el AssemblyVersion. De hecho, no veo a AssemblyVerson en ninguna parte de la salida de strings. – Freddy

+1

Utilice '-el' en el comando strings para interpretar las cadenas como unicode. – Nick

8

Según lo recomendado por Jb Evain puede usar el Mono Disassembler.

monodis --assembly file.exe | grep Version 
+0

Eso hace el truco. También puede ajustar eso en una secuencia de comandos nautilus para que pueda hacer clic con el botón derecho en una DLL y ver su versión. Escribí una publicación sobre cómo hacer eso aquí: http://ngeor.net/2014/08/view-assembly-version-on-ubuntu/ –

Cuestiones relacionadas