"¿Por qué mi .NET EXE es tan grande" Herramienta analizador?
-
26-10-2019 - |
Pregunta
¿Existe una herramienta que pueda explicar el tamaño de un ensamblaje de .NET (archivo ejecutable o dll)?
En los viejos tiempos, había una extensión IDE que detallaría el espacio utilizado por un proyecto.
Debería mostrar lo grande código Archivos:
Y datos recursos:
¿Existe tal cosa para el mundo .net?
Realmente pensé que mudarse a .NET, y ya no tener que construir todo el VCL en el ejecutable, que el tamaño ejecutable se encoge.
Lectura de bonificación
Solución
El SDK estándar tomó ILDASM (IL Dissembler), tenía la opción "Estadísticas" en el menú Ver, que lo rompió así:
File size : 3072
PE header size : 512 (456 used) (16.67%)
PE additional info : 167 ( 5.44%)
Num.of PE sections : 2
CLR header size : 72 ( 2.34%)
CLR meta-data size : 1572 (51.17%)
CLR additional info : 0 ( 0.00%)
CLR method headers : 15 ( 0.49%)
Managed code : 77 ( 2.51%)
Data : 512 (16.67%)
Unaccounted : 145 ( 4.72%)
Num.of PE sections : 2
.text - 2048
.reloc - 512
CLR meta-data size : 1572
Module - 1 (10 bytes)
TypeDef - 4 (56 bytes) 0 interfaces, 0 explicit layout
TypeRef - 15 (90 bytes)
MethodDef - 4 (56 bytes) 0 abstract, 0 native, 4 bodies
FieldDef - 2 (12 bytes) 0 constant
MemberRef - 15 (90 bytes)
ParamDef - 4 (24 bytes)
CustomAttribute- 13 (78 bytes)
StandAloneSig - 1 (2 bytes)
Assembly - 1 (22 bytes)
AssemblyRef - 1 (20 bytes)
Strings - 571 bytes
Blobs - 336 bytes
UserStrings - 8 bytes
Guids - 16 bytes
Uncategorized - 181 bytes
CLR method headers : 15
Num.of method bodies - 4
Num.of fat headers - 1
Num.of tiny headers - 3
Managed code : 77
Ave method size - 19
Esto debería proporcionar un buen punto de partida.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow