在团队构建中编辑发布版本的项目属性

Fab*_*ist 5 tfs team-build msbuildcommunitytasks

我每晚都在我的TFS服务器上进行夜间构建,并且工作正常.我们计划创建一个clickonce应用程序,当前工作正常,但发布版本(ApplicationVersion)除外,我们希望自动增加每个构建而不是手动输入.需要提到的一点是,我们只希望每个构建版本的Revision部分增加1.例如1.1.1.1第一次和1.1.1.2用于下一次构建.

请注意,因为大量的信息可用于汇编版本,所以我对它一点都不感兴趣,我只是希望我的应用程序版本增加所以请指点我这个方向.

我的VS和TFS服务器是2008.Is有什么方法可以在构建之前编辑我的发布版本,就像我在这种情况下编辑projecte-g的InstallUrl一样

<File.RegEx Path="$(BuildDirectory)/Sources/Client/Client/Client.csproj"
      RegularExpression="&lt;InstallUrl&gt;(.*?)&lt;/InstallUrl&gt;"
      NewValue="&lt;InstallUrl&gt;$(InstallUrl)&lt;/InstallUrl&gt;" Force="true"/>
Run Code Online (Sandbox Code Playgroud)

发布版本是一个组合

<ApplicationVersion> 
and 
<ApplicationRevision> 
Run Code Online (Sandbox Code Playgroud)

在我的场景中它的定义如下

<ApplicationRevision>1</ApplicationRevision>
<ApplicationVersion>1.9.4.%2a</ApplicationVersion>
Run Code Online (Sandbox Code Playgroud)

然后

<File.RegEx Path="$(BuildDirectory)/Sources/Client/Client/Client.csproj"
      RegularExpression="&lt;ApplicationRevision&gt;(.*?)&lt;/ApplicationRevision&gt;"
      NewValue="&lt;ApplicationRevision&gt;$(ApplicationRevision)&lt;/ApplicationRevision&gt;" Force="true"/>

    <File.RegEx Path="$(BuildDirectory)/Sources/Client/Client/Client.csproj"
      RegularExpression="&lt;ApplicationVersion&gt;(.*?)&lt;/ApplicationVersion&gt;"
      NewValue="&lt;ApplicationVersion&gt;$(ApplicationVersion)&lt;/ApplicationVersion&gt;" Force="true"/>
Run Code Online (Sandbox Code Playgroud)

但是在第一次运行后,该值永远不会增加.第一次运行后,该值始终为1.9.4.1.是否有任何方法可以为下一个Build增加它.尝试过应用程序修改*+1,#+1...

MrH*_*ood 1

您应该首先将 TFS 服务器更新到 TFS 2012。这将保持对 VS2008 的支持(TFS 2013 不再支持它),并允许您访问不再支持 2008 的社区工具。

您将在TFS Community Build Extensions中找到两个自定义活动,它们可以满足您的需求。

  • ClickOnce - 这会更新并配置构建中的 clickonce 部署的清单
  • TfsVersion - 这将创建并使用正确的增量填充版本号

不,我不知道在 TFS 2008 中该怎么做(除了您自己的)。它太旧了,无法得到社区的支持。