【问题标题】:How do I use TFS to autobuild a non default configuration如何使用 TFS 自动构建非默认配置
【发布时间】:2013-04-12 18:17:58
【问题描述】:

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

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

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

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

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

有人知道怎么做吗?

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

【问题讨论】:

    标签: tfs tfsbuild


    【解决方案1】:

    如果假定“Autobuild”意味着“通过 TFS 构建定义构建”。

    如果“标签”是指源代码控制标签,那么在对构建进行排队时,可以将其“获取版本”参数设置为标签 - 例如,对于标签 MyLabel,使用 LMyLabel

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

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

    【讨论】:

    • 如何设置构建模板直接调用批处理文件?我试过了,但它似乎只知道 Visual Studio 项目文件?
    • 您需要编辑构建模板 - 通常称为DefaultTemplate.xaml。它不仅仅涉及创建构建定义,所以我想你应该尝试坚持你现在拥有的......
    • 好的,我已经尝试过你上面提到的,但是我的构建找不到我的用户定义的配置。我还有什么需要做的吗?
    猜你喜欢
    • 1970-01-01
    • 2014-01-12
    • 1970-01-01
    • 1970-01-01
    • 2012-01-28
    • 2018-08-06
    • 1970-01-01
    • 2018-05-05
    相关资源
    最近更新 更多