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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了比较.NET程序集(DLL或EXE)是否相同相关的知识,希望对你有一定的参考价值。

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

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

以上是关于比较.NET程序集(DLL或EXE)是否相同的主要内容,如果未能解决你的问题,请参考以下文章

关于COM .net程序集,regasm,dll,tlb和guids的几个简短问题

C#.Net 如何动态加载与卸载程序集(.dll或者.exe)3---- 动态加载Assembly应用程序

[程序集清单定义与程序集引用不匹配]分析及解决

.NET:加载同一个 DLL 的两个版本

.NET 基础知识

[007] 详解 .NET 程序集