Gendarme具有与以下描述的AvoidAssemblyVersionMismatchRule
:让AssemblyVersion和AssemblyFileVersion匹配是否有很好的理由?
此规则检查该
[AssemblyVersion]
的[AssemblyFileVersion]
匹配时两者都存在的组件的内部。一旦部署了应用程序,在两个属性中使用不同的版本号都会造成混淆。
例如,该规则将警告微软System.dll
它具有以下属性:
[assembly: AssemblyVersion("2.0.0.0")]
[assembly: AssemblyFileVersion("2.0.50727.3053")]
我不同意宪兵统治。跟随它,就不可能给你用类似于微软使用的一个版本方案,即
- 更新
AssemblyFileVersion
在每次构建, - 只在公共接口或以其他方式发生重大变化的变化
AssemblyVersion
, - 确保
AssemblyVersion
和AssemblyFileVersion
有着共同的前缀,
,我觉得这个版本方案是设计它之所以成为可能,以首先区分AssemblyVersion
和AssemblyFileVersion
。
我不能拿出一个强制两个组件属性相同的理由是一个好习惯,但也许你可以! 我会对你的意见感兴趣。
如果确实没有很好的理由,我很快就会建议宪兵开发商规则更改为
此规则会检查
[AssemblyVersion]
和[AssemblyFileVersion]
有一个共同的,非空前缀时两者都存在于组件中。
意见==社区维基 – 2010-01-17 16:36:29