“Perché il mio .net exe così enorme” strumento di analisi?
-
26-10-2019 - |
Domanda
Esiste uno strumento che può spiegare le dimensioni di un gruppo di .NET (file eseguibile o DLL)?
In passato, c'era un'estensione IDE che avrebbe dettaglio lo spazio utilizzato da un progetto.
Si dovrebbe mostrare i grandi codice file:
e dati risorse :
C'è una cosa del genere per il mondo .NET?
ho davvero pensato che il passaggio a .NET, e non più dover costruire l'intero VCL nell'eseguibile, che le dimensioni eseguibili si ridurrebbero.
Bonus di lettura
Soluzione
L'SDK di serie ha preso ILDASM (IL Disassembler), ha avuto l'opzione "Statistiche" nel menu Visualizza, che ha rotto in giù in questo modo:
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
Questo dovrebbe fornire un buon punto di partenza.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow