zoukankan      html  css  js  c++  java
  • VSTF Build Workflow(6)为你的文件自动递增版本号

    作为三部曲之一,本文介绍的是如何增加AssemblyVersion中的版本号。

    每个项目都有一个AssemblyVersion.cs文件,其中,里面有2行是我们所需要的版本号。

    image

    对于一个编译生成的文件(这里以BuildEngine.dll为例),AssemblyVersion和AssemblyFileVersion会展示在它的Property面板中:

    image

    下面我们就要在Build的时候控制这两个值,每次Build的时候自动加一。

    思路如下:

    1.先把AssemblyInfo.cs这个文件check out出来,注意,是自动check out

    2.修改AssemblyInfo.cs中的版本信息

    3.把之前check out的所有文件都check in进TFS

    具体步骤如下:

    1.添加对Microsoft.TeamFoundation.VersionControl.Client.dll的引用,它一般位于以下路径:

    c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v2.0\

    2.添加一个新的Activity,命名为AddVersionNumber,它的作用是使某个目录下的所有文件版本递增1,例如:把版本1.0.0.0升级为1.0.1.0

    image

    3.添加一个新的Activity,命名为CheckOut

    image

    4.添加一个新的Activity,命名为CheckIn

    image

    接下来,我们将视线转移到Build Template,这里我们仍然从VSTF中copy一份DefaultTemplate.xaml的副本,重命名为CustomTemplate2.xaml。在新的Build Template中,我们创建1个Argument,命名为AssemblyInfoFileMask:

    image

    我们把之前定义的3个Activity拖到Build Template的Get Workspace(注意,不是Get the Build)之后,这个Activity不太好找,它位于Run On Agent的Initialize Workspace中的最后一个,如下所示:

    image

    image

    分别设置3个Activity必须的属性,直到没有红色惊叹号为止:

    image

    也许有人会问,在上面图中输入的Workspace和SourceDirectory是在神马地方定义的?这是2个variable,定义在Run On Agent这个Scope中,如下图所示:

    image

    万事俱备,打开Build,将Build Process Template设置为CustomTemplate2.xaml,然后会发现多了一个字段需要我们输入,将其设置为AssemblyInfo.*,从而build执行时会检索文件名为AssemblyInfo的所有类型文件:

    image

    执行Build,执行前检查Solution中的AssemblyInfo.cs为1.0.0.0

    image

    Build后生成的文件版本为1.0.1.0

    image

    再次Build,生成的文件版本为1.0.2.0

    image

    本文下载代码:

  • 相关阅读:
    noip2018练习总结
    东方CannonBall (概率DP)
    数论
    逆序对
    USACO5.3 校园网Network of Schools(Tarjan缩点)
    USACO09FEB 改造路Revamping Trails(分层图模板)
    Comet OJ模拟赛 Day1
    Tarjan模板
    NOIP 天天爱跑步(树上差分)
    树上差分
  • 原文地址:https://www.cnblogs.com/Jax/p/1950615.html
Copyright © 2011-2022 走看看