Console.WriteLine("Hello World");
Console.ReadLine();
当我尝试重新构建相同的控制台应用程序而没有进行任何更改时(只需按下重建按钮),我得到了一个微妙不同的可执行文件。(我从第一个和第二个生成的可执行文件中生成了SHA-1哈希值,它们是不同的!)
为什么没有代码更改时会有所不同?实际上发生了什么变化?我使用十六进制编辑器进行比较,只看到了几个不同的字节。
我想我的最终问题是,我如何知道一个"程序集"是否真的发生了变化?(当然不看文件版本、文件大小等)
编辑
到目前为止,我们已经确定差异在于PE头(时间戳和一些调试数据)。在我重新发明轮子之前,是否有一个"程序集比较"工具可以忽略PE头?
谢谢, Ian