我们有一些共享程序集,每晚都会自动构建。当源代码没有更改时,我希望程序集二进制文件与以前的版本完全相同。
但是,程序集之间似乎存在细微差别。
我已经做了一些努力来确定两个构建之间的差异。我曾经ildasm
生成一个 il 版本,并比较了生成的文本版本。唯一的区别(在 IL 中)是模块中的 MVID(随机 guid)。
一些谷歌搜索告诉我模块版本 ID 是由编译器生成的,因此可以确定构建源,即使其他一切都相同。
此 MVID 在相同代码的构建之间创建人工差异,并人工签入生成的程序集。
是否可以将 MVID 提供给 C# 编译器?