为什么C#为相同的源代码生成不同的EXE?

Gil*_*ili 13 c# compiler-construction hash binary-reproducibility

每次我们重新编译C#应用程序时,我们都会得到具有不同MD5签名的EXE.我们在相同的机器上重新编译,相隔几分钟.为什么相同的源代码不会产生相同的输出?有没有办法来解决这个问题?

Ian*_*emp 18

"所以每个集会都有:

  1. 时间戳,位于两个位置
  2. 与PDB匹配的GUID
  3. 每次编译都会产生一个完全随机的GUID.
  4. 一个计数器,指示程序集的构建 - 仅在后续的Visual Studio构建中生成."

从:

http://ritter.vg/#code_adventures_clr1