可重复在不同的机器上使用相同的C#源代码构建

我正在尝试生成一个足够智能的工具,以编程方式检查在不同时间在两个单独的机器上编译的相同C#代码生成的发行版本二进制文件,并得出结论,代码是相同的,同时能够获取任何代码更改(如果存在于用于生成这些二进制文件的c#代码.

我尝试过使用多种方法,但为了保持这种简短,我只会坚持最新的尝试.
我在二进制文件上使用/ text选项运行ildasm并在文本中替换匿名字段等的GUID,但是当二进制文件来自不同的pc时,我发现ILDASM / text选项生成的文本被重新排序.源自相同代码但在不同机器上通过相同设置编译的二进制文件也出现严重重新排序.任何建议如何能够控制IL的重新排序将是非常感激的?

干杯

PS:任何可靠地实现这一目标的替代策略也是最受欢迎的.

解决方法

等待Eric Lippert醒来:) – 来自@mikez评论的社区维基:

当编译器团队的主要开发人员(Eric Lippert)发言时,你应该听一听:http://ericlippert.com/2012/05/31/past-performance-is-no-guarantee-of-future-results/包含详细的解释和强烈的建议,没有这样做(可能是为了回答这个确切的问题):

Is compiling the same C# program twice guaranteed to produce the same binary output?

No.

相关文章

原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...
c语言输入成绩怎么判断等级
字符型数据在内存中的存储形式是什么