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