“Why is my .net exe so huge” analyzer tool?

前端 未结 1 976
无人共我
无人共我 2020-12-31 12:35

Is there a tool that can explain the size of a .NET assembly (executable or DLL file)?

In the olden days, there was an IDE extension that would detail the space used

相关标签:
1条回答
  • 2020-12-31 13:37

    The standard SDK took ILDASM (IL Disassembler), had the "Statistics" option in the View menu, which broke it down like this:

     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
    

    This should provide a good starting point.

    0 讨论(0)
提交回复
热议问题