run - visual studio code.net framework
Cómo obtener la versión ensamblada de un archivo.Net en Linux (3)
¿Hay alguna manera de obtener la versión AssemblyVersion de un ejecutable .Net en Linux sin usar mono? Lo que estoy tratando de tener es un script o comando que me permita obtener la versión AssemblyVersion en Linux. Lo intenté:
#strings file.exe | grep AssemblyVersion
pero sólo la cadena y no el número. También comprobado con:
#file file.exe
Pero solo obtuve información general.
¿Algunas ideas?
Intente hacer coincidir los números de versión que abarcan una línea completa:
$ strings file.exe | egrep ''^[0-9]+/.[0-9]+/.[0-9]+/.[0-9]+$''
En mis (pocas) pruebas, la AssemblyVersion
de la AssemblyVersion
del binario fue siempre el último resultado.
La herramienta ikdasm
que también se distribuye con Mono es más robusta que monodis
, que desafortunadamente falla con el mensaje " monodis
segmentación: 11" en muchos archivos DLL. Los mantenedores recomiendan explícitamente el uso de ikdasm
lugar de monodis
: https://github.com/mono/mono/issues/8900#issuecomment-428392112
Ejemplo de uso (con un ensamblaje que actualmente monodis
no puede manejar):
ikdasm -assembly System.Runtime.InteropServices.RuntimeInformation.dll | grep Version:
Según lo recomendado por Jb Evain , puede utilizar el desensamblador Mono .
monodis --assembly file.exe | grep Version