比较.NET程序集(DLL或EXE)是否相同

如何比较两个.NET程序集(DLL或EXE)是否相同呢?

直接比较文件内容?当然没那么简单了,这个你可以去试试,去比较一下两次Build产生的程序集,
就算内容没有改变,产生的程序集的二进制文件也是不同的。
 
其实,当两次Build后,程序集中,有3个地方会不同:
  1. MVID值会不同
  2. ImageBase值会不同
  3. 时间戳会不同
因此,要比较两个程序集是否完全相同,可以先刨除掉这三个值后,再进行比较。
 
以下文章中就介绍了该思路的具体实现。我也参考着实现了自己的比较工具,用于日常项目中程序集的比较。
http://www.codeproject.com/Articles/501631/Compare-two-DLL-files-programmatically-using-hash

你可能感兴趣的:(比较.NET程序集(DLL或EXE)是否相同)