visual studio run net framework extension debug csharp con compilar code .net linux mono assemblyinfo

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: