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

前端之家收集整理的这篇文章主要介绍了可重复在不同的机器上使用相同的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.

猜你在找的C#相关文章