"Warum ist mein .Net Exe so groß" Analysator Tool?
-
26-10-2019 - |
Frage
Gibt es ein Tool, das die Größe einer .NET -Montage (ausführbare Datei oder DLL -Datei) erklären kann?
In den alten Tagen gab es eine IDE -Erweiterung, die den von einem Projekt verwendeten Raum detailliert beschrieben hatte.
Es sollte das große zeigen Code Dateien:
Und Daten Ressourcen:
Gibt es so etwas für die .NET -Welt?
Ich dachte wirklich, dass der Umzug zu .NET und nicht mehr die gesamte VCL in die ausführbare Datei aufbauen muss, dass ausführbare Größen schrumpfen würden.
Bonuslesen
Lösung
Der Standard -SDK nahm Ilildasm (IL Disassembler), hatte die Option "Statistik" im View -Menü, das sie so abgebrochen hat:
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
Dies sollte einen guten Ausgangspunkt bieten.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow