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

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

VSTF Build Workflow(6)为你的文件自动递增版本号

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

VSTF Build Workflow(6)为你的文件自动递增版本号

下面我们就要在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

VSTF Build Workflow(6)为你的文件自动递增版本号

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

VSTF Build Workflow(6)为你的文件自动递增版本号

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

VSTF Build Workflow(6)为你的文件自动递增版本号

 

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

VSTF Build Workflow(6)为你的文件自动递增版本号

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

VSTF Build Workflow(6)为你的文件自动递增版本号

VSTF Build Workflow(6)为你的文件自动递增版本号

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

VSTF Build Workflow(6)为你的文件自动递增版本号

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

VSTF Build Workflow(6)为你的文件自动递增版本号

 

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

VSTF Build Workflow(6)为你的文件自动递增版本号

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

VSTF Build Workflow(6)为你的文件自动递增版本号

Build后生成的文件版本为1.0.1.0

VSTF Build Workflow(6)为你的文件自动递增版本号

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

VSTF Build Workflow(6)为你的文件自动递增版本号

 

本文下载代码:

相关文章:

  • 2021-04-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-04
  • 2022-01-31
  • 2022-02-24
猜你喜欢
  • 2021-10-22
  • 2021-11-05
  • 2021-07-28
  • 2021-08-14
  • 2021-10-24
  • 2022-12-23
  • 2021-11-29
相关资源
相似解决方案