如何在多个TFS构建脚本之间共享属性?

如何在多个TFS构建脚本之间共享属性?,tfs,msbuild,Tfs,Msbuild,我有3个构建脚本,用于创建分布式应用程序套件的独立组件。它们存储在文件夹结构中,如下所示: LegacyComponents-处于活动状态但正在被替换的VB6代码 新组件-C语言中重写的组件 数据库 团队构建类型 └ 法制建设 └ 新建 └ 数据库构建 在每个构建文件夹中,我都有一个名为TFSBuild.proj的脚本 因为构建是独立的,所以每个构建都有一个不同的构建编号。我需要用一个字符串标记每一个,将它们连接在一起,这样我就可以得到一个标签,并拥有整个一致的代码集 我创建了一个名为KitNu

我有3个构建脚本,用于创建分布式应用程序套件的独立组件。它们存储在文件夹结构中,如下所示:

LegacyComponents-处于活动状态但正在被替换的VB6代码 新组件-C语言中重写的组件 数据库 团队构建类型 └ 法制建设 └ 新建 └ 数据库构建

在每个构建文件夹中,我都有一个名为TFSBuild.proj的脚本

因为构建是独立的,所以每个构建都有一个不同的构建编号。我需要用一个字符串标记每一个,将它们连接在一起,这样我就可以得到一个标签,并拥有整个一致的代码集

我创建了一个名为KitNumber.targets的文件,该文件具有KitNumber属性,并将其放在TeamBuildTypes文件夹中。然后,我在每个构建脚本中放入以下行:

我现在应该能够在一个地方更改套件编号,并在每个构建中应用它

这在my dev box上起作用,因为源代码已经从TFS关闭,但在生成计算机上失败,因为只有包含生成脚本的目录的内容被关闭


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

使用一个文本文件,其中有一行包含我要应用的标签:

<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>