“为什么我的 .net exe 这么大"分析工具? [英] "Why is my .net exe so huge" analyzer tool?

查看:27
本文介绍了“为什么我的 .net exe 这么大"分析工具?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有可以解释.NET程序集(可执行文件或DLL文件)大小的工具?

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

在过去,有一个 IDE 扩展可以详细说明项目使用的空间.

In the olden days, there was an IDE extension that would detail the space used by a project.

它应该显示大代码文件:

和数据资源:

.NET 世界有这样的东西吗?

Is there such a thing for the .NET world?

我真的认为迁移到 .NET,不再需要将整个 VCL 构建到可执行文件中,可执行文件的大小会缩小.

I really thought that moving to .NET, and no longer having to build the entire VCL into the executable, that executable sizes would shrink.

推荐答案

标准 SDK 采用 ILDASM (IL Disassembler),在 View 菜单中有Statistics"选项,分解如下:

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.

这篇关于“为什么我的 .net exe 这么大"分析工具?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆