我正在尝试生产一个足够智能的工具,可以通过编程检查由在不同时间在两个单独的机器上编译的相同 C# 代码生成的发布版本二进制文件,并得出结论该代码是相同的,同时能够获取任何代码更改(如果存在)用于生成这些二进制文件的 c# 代码。
我尝试过使用多种方法,但为了保持简短,我将坚持最新的尝试。我在二进制文件上使用 /text 选项运行 ildasm,并在文本中替换匿名字段等的 GUID,但是当二进制文件来自不同的电脑时,我发现 ILDASM /text 选项生成的文本被重新排序。源自相同代码但在不同机器上由相同设置编译的二进制文件也出现了严重的重新排序。任何关于如何控制 IL 重新排序的建议将不胜感激?
干杯
PS:任何可靠地实现这一点的替代策略也是最受欢迎的。