想要在构建服务器TFS上构建之前包含subst命令

时间:2014-07-17 23:37:23

标签: visual-studio-2010 visual-studio-2012 tfs tfs2010

我正在尝试自动化我们软件的构建。我们有两类软件,一类包含C#中的所有项目,另一类包含c ++。 c#项目的所有解决方案都在不同的分支中。我们为C#解决方案提供了自动构建,每个签入构建并创建所有C#项目的二进制文件。但是,C ++项目是一种手动过程,所以我们试图自动化它。但问题是所有c ++项目都包含它们引用的头文件的相对路径。因此在编译项目之前,我们需要将根目录映射到某个驱动器。假设我们所有的源代码都在C:\ software2 \然后我们需要在继续之前使用K:drive(任何其他驱动器)替换C:\ software2 \。并且应该只从K:驱动器打开编译项目,否则它将无法编译。

我的困难在于,当我们将c ++项目移动到Team Foundation服务器以进行自动化构建时,就会发生以下事情。将所有源代码复制到构建代理服务器。从那里它运行项目并生成二进制文件。那么,我如何修改构建定义\模板,以便在复制源之后,它映射该路径并仅从该映射驱动器开始编译。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我最近刚刚在构建模板中放置了一个自定义活动。 使用活动替换目录并将驱动器插入工作空间创建的“sourcesdirectory”字段中。

<namespace:activity DisplayName="Creating Subst's here"/>

<mtbwa:CreateWorkspace ......... SourcesDirectory="[&quot;Z:\&quot;]">

对不起,我不能详细介绍。希望这有帮助!