2013-04-11 57 views
0

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

我们的代码是由一个批处理文件构建的,因此我创建了一个虚拟解决方案,autobuild构建,此解决方案的构建说明只运行批处理文件。

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

因此,除了调试和发布配置之外,我还添加了一个名为LABEL的调用不同的批处理文件,并在TFS中添加了一个新的自动构建,该构件使用框中的'label'配置调用此解决方案。 。

但是,当我尝试运行它时失败,声称'标签'配置不存在。

有谁知道如何做到这一点?

附加: 它似乎工作,如果我使用释放配置调用一个批处理文件和调试一个调用另一个,但它仍然找不到用户创建的配置?

回答

-1

假设“Autobuild”是指“通过TFS构建定义构建”。

如果通过“标签”指的是源代码管理标签,那么排队构建时,可以将其“获取版本”参数设置为标签 - 例如,标签MyLabel使用LMyLabel

如果通过“标签”指的是批处理文件内部的一些定义,那么您可以通过MSBuild属性传递它:通过在“MSBuild参数”中添加"/p:label=mylabel"将其定义在构建定义中。然后,在解决方案调用批处理的位置,可以使用$(label)从构建定义中获取值。

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

+0

如何设置构建模板以直接调用批处理文件?我试过,但它似乎只知道Visual Studio项目文件? – Stefan 2013-04-12 14:21:23

+0

您需要编辑构建模板 - 通常称为“DefaultTemplate.xaml”。它涉及到的不仅仅是创建构建定义,所以我想你应该尝试坚持你现在拥有的东西...... – Jonathan 2013-04-12 16:41:10

+0

好吧,我已经尝试了你上面提到的,但是我的构建找不到我的用户定义的配置。还有什么我需要做的? – Stefan 2013-04-13 00:48:15

相关问题