关于改进我的构建和部署例程,我希望比较两个不同程序集的代码。我无法比较文件大小和创建日期,或者程序集的二进制内容,因为即使程序集在逻辑上相同,它们也可能有所不同。从c反汇编代码#
在以前的项目中,我已经使用了ildasm.exe并为每个程序集生成了一个文本文件,并在稍作修改后对其进行了比较,但我宁愿在不运行Process.Start()的情况下在c#代码中执行此操作。
作为例子,我希望做这样的事情:
public bool AssemblyComparer(string path1, string path2)
{
var text1 = MagicLibrary.Disassemble(path1);
var text2 = MagicLibrary.Disassemble(path2);
return text1.Equals(text2);
}
任何建议,如何做到这一点可以理解。
'组件的二进制内容,因为即使组件在逻辑上相同,它们也可能不同。“我没有得到这个? – 2014-11-21 08:36:45
整个词是使用版本。你为什么要比较内容? – Sinatr 2014-11-21 08:49:03
二进制内容包含程序集编译时的时间戳,因此即使它们在逻辑上相同,它们也不具有相同的校验和。 – Snorre 2014-11-21 11:54:03