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