我正在使用一个构建脚本来编译多个C#项目。二进制输出被复制到一个结果文件夹中,覆盖先前版本的文件,然后添加/提交到Subversion。
我注意到即使在没有任何源代码或环境变化的情况下,编译的二进制输出也是不同的。这怎么可能?难道相同的输入不应该得到完全相同的二进制结果吗?
我没有故意在任何地方使用任何特殊的时间戳,但是编译器(Microsoft,包含在.NET 4.0中的那个)是否可能会自己添加时间戳?
我问这个问题的原因是我正在将输出提交给Subversion,由于我们的构建服务器的工作方式,检入的更改会触发重建,导致再次修改的二进制文件循环地被检入。