C#编译器csc.exe会缺省的为每个exe/dll文件加入一些Win32 Resource信息,而ilasm不会。
你可以在文件的property里看到,csc编译的dll包含一个版本(Version)页,而ilasm编译的没有。如果把csc编译的dll中的win32 resource提取出来(用resource hacker,etc), 然后编译到ilasm中去(用/RESOURCE),最终文件打小是一致的。所以,两个文件在代码和数据上基本没有区别(ildasm导出是总是将System.Diagnostics.DebuggableAttribute注释掉,这是我发现的唯一区别)。