如何使用TFS自动生成非默认配置

如何使用TFS自动生成非默认配置,tfs,tfsbuild,Tfs,Tfsbuild,我们有一个庞大的代码库,其中包含各种需要自动构建的标签。 我们正在使用TFS 2012 Express和VS 2010 我们的代码是由一个批处理文件生成的,所以我创建了一个由autobuild生成的虚拟解决方案,该解决方案的构建说明只是运行批处理文件 我的想法是在这个解决方案中使用不同的配置来构建不同的标签 因此,除了调试和发布配置外,我还添加了一个名为LABEL的配置,它调用不同的批处理文件,并添加了一个新的自动内置TFS,它使用所需框中的“LABEL”配置调用此解决方案—要构建的配置 但是,

我们有一个庞大的代码库,其中包含各种需要自动构建的标签。 我们正在使用TFS 2012 Express和VS 2010

我们的代码是由一个批处理文件生成的,所以我创建了一个由autobuild生成的虚拟解决方案,该解决方案的构建说明只是运行批处理文件

我的想法是在这个解决方案中使用不同的配置来构建不同的标签

因此,除了调试和发布配置外,我还添加了一个名为LABEL的配置,它调用不同的批处理文件,并添加了一个新的自动内置TFS,它使用所需框中的“LABEL”配置调用此解决方案—要构建的配置

但是,当我尝试运行它时,它无法声明“标签”配置不存在

有人知道怎么做吗

额外: 如果我使用发布配置调用一个批处理文件,使用调试配置调用另一个批处理文件,但它仍然找不到用户创建的配置,那么它似乎可以工作?

如果假定“自动构建”是指“通过TFS构建定义构建”

如果“label”是指源代码管理标签,那么在对生成进行排队时,可以将其“Get Version”参数设置为标签-例如,对于标签
MyLabel
使用
LMyLabel

如果“label”是指批处理文件生成内部的某个定义,则可以通过MSBuild属性传递该定义:通过向“MSBuild参数”添加
“/p:label=mylabel”
,在生成定义中定义它。然后,在解决方案调用批处理的地方,可以使用
$(label)
从构建定义中获取值


此外,您可以修改生成模板以直接调用批处理文件,而不是此hacky.sln,并在生成定义中设置一个参数,然后模板将其传递给批处理文件。

如何设置生成模板以直接调用批处理文件?我试过了,但它似乎只知道Visual Studio项目文件?您需要编辑生成模板-通常称为
DefaultTemplate.xaml
。它不仅仅是创建构建定义,所以我想你应该坚持你现在所做的…好的,我已经尝试了你上面提到的,但是我的构建找不到我的用户定义配置。还有什么我需要做的吗?