默认情况下,Visual Studio C#Library / Console等项目附带一个AssemblyInfo.cs
文件,其中不包含AssemblyInformationalVersionAttribute
。如果使用 AssemblyInfoPatcher 在AssemblyInfo.cs
中找到,TeamCity允许修补此属性。
问题
为TeamCity包含AssemblyInformationalVersion
的零努力方法。
可能的解决方案
使用GlobalAssemblyInfo.cs
文件并链接到每个项目,缺点:每个新项目都必须链接,令人沮丧的是,如果(经常)忘记创建链路
将AssemblyInformationalVersionAttribute
添加到Common7\IDE\ProjectTemplates\CSharp\
中的所有模板,缺点:在每台开发者机器上执行,主要是矫枉过正
第一个构建步骤,它运行基于this SO answer的脚本并在所有.cspproj
上创建链接,缺点:必须重新检入以进行修补步骤,过于复杂
原因
AssemblyInformationalVersion
很有用,因为你可以在那里放任何文本 - 我喜欢把用于构建程序集的提交的git哈希放在其中
你有更好的主意吗?