2009-03-03 105 views
0

我有3个构建脚本,可以创建分布式应用程序套件的独立组件。它们存储在一个文件夹结构如下所示:如何共享几个TFS构建脚本之间的属性?

LegacyComponents - VB6的代码是“活的”,但在被替换
NewComponents 的过程 - 改写组件在C#
数据库
TeamBuildTypes
└LegacyBuild
└新造
└DatabaseBuild

在每一个build文件夹中我有一个离谱pt命名为TFSBuild.proj。

因为构建是分开的,所以它们每个都有不同的内部版本号。我需要用一个字符串来标记每个字符串,以便我可以“获得”一个标签并拥有完整一致的代码集。

我使用KitNumber属性创建了一个名为KitNumber.targets的文件,并将其放入TeamBuildTypes文件夹中。然后我把下面的行中的每个构建脚本:

<Import Project=".\..\KitNumber.targets"/>

我现在应该可以改变一个地方的套件数量,有它在每次构建应用。

这适用于我的开发盒,因为源已经从TFS下来,但在构建机器上失败,因为只有包含构建脚本的目录的内容被关闭。

那么我在哪里存储共享属性,以便我可以在每个脚本中使用它?

回答

0

使用文本文件一行包含我想申请标签:

<Target Name="ApplyKitNumberLabel" Condition="$(KitNumber) != ''"> 

    <ReadLinesFromFile File="$(WorkspaceRoot)\TeamBuildTypes\KitNumber.txt"> 
    <Output TaskParameter="Lines" 
     PropertyName="KitNumber" /> 
    </ReadLinesFromFile> 

    <Label TeamFoundationServerUrl="$(TeamFoundationServerUrl)" 
     Files="$(WorkspaceRoot)\$(BranchName)\LegacyComponents" 
     Name="$(KitNumber)" 
     Recursive="True" /> 

</Target> 
相关问题