关于全局版本号GlobalAssemblyInfo.cs定义使用及集成在Teamcity上的使用内容

在对接开发或是组件开发过程中,对于版本定的定义是比较重要的,不能是无版本的,而我们开发的解决方案文件中,往往是有多个项目或是类库组成,每个项目下都有一个可以定义的版本的文件:AssemblyInfo.cs, 这些AssemblyInfo.cs当中有一部分在重复的,若能把它们提取出来放入一个单一文件中,修改AssemblyInfo中的诸如产品名、产品版本、版本等信息会变得轻松。那么,这个程序集信息文件,我们叫做它——GlobalAssemblyInfo.cs

步骤:

1、在解决方案中添加名为GlobalAssemblyInfo.cs的C#类文件

2、清除类文件中的其他内容,放入如下版本定义项内容:

    spacer.gifwKioL1nkBwjzENf_AAAk2arGFG4098.png-wh_50

   这里定义共性的版本内容项,个性内容还是在每个版本文件中自行定义

3、为每个项目引用GlobalAssemblyInfo.cs文件

    右键项目->添加->现有项,浏览到GlobalAssemblyInfo.cs文件,注意点击“添加”下拉菜单的“添加为链接”将它添加到项目,然后将这个链接到GlobalAssemblyInfo.cs的文件移到到Properties文件夹下,使它与AssemblyInfo.cs处于同一个文件夹

    wKiom1nkCi2znucJAAFRjP2aEjg470.png

4、修改AssemblyInfo.cs文件,将GlobalAssemblyInfo.cs中已经包含的信息去除

    也就是共性版本信息内容已独立出来了,那就要将AssemblyInfo.cs文件中共性内容删除,否则会报重复错误

    wKiom1nkClPBNEI4AAIVrbuBfNg634.png-wh_50


二、全局版本文件在Teamcity上使用

   在6.0能力平台开发时,能力服务需需要提供接口给不同外部业务平台调用的,这时外部对接需要清楚知道需要对接的版本情况,在能力项目中定义版本号后,发布的接口包文件(含thrift文件),将根据全局定义的版本号进行生成:

   通过开发集成Teamcity上的工具writeThrift.exe程序:

   程序思路: 1、查找项目下的global\GlobalAssemblyInfo.cs 文件,按行读取,找到版本号定义行,通过正则表达式,获取版本号;

                       2、将Teamcity生成的zip文件,通过本程序进行修改文件名


    wKiom1nkCtHhsojBAAOJqVRFtmM812.png



spacer.gif  wKiom1nkDLnx3qB2AAC7BYqDVO0619.png-wh_50