gpt4 book ai didi

msbuild - 如何在 MSBuild 中使用团队构建属性?

转载 作者:行者123 更新时间:2023-12-02 12:08:44 24 4
gpt4 key购买 nike

我有一个使用默认流程模板的简单 tfs-2010 构建定义。在其中,我使用 $(BuildID) 定义了内部版本号格式来定义部分计算字段。这有效,我可以看到 BuildID 的值是什么。

现在我尝试将 BuildID 属性作为参数传递给 MSBuild:

/p:SomeProperty=$(BuildID)

但是,当我查看构建日志时,我看到 SomeProperty 实际上等于 $(BuildID),而不是 BuildID 的值。

我错过了什么?

为清楚起见进行更新:我要问的是如何在构建定义中引用为构建过程参数。例如,构建编号格式的默认表达式为 $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)

最佳答案

您需要使用 VB.NET 表达式。例如:

String.Format("/p:SomeProperty={0}", BuildDetail.BuildNumber)

内部版本号标记,例如$(BuildDefinitionName) 特定于内部版本号格式流程参数。它们不是您可以在构建过程中的其他任何地方使用的 token 。大多数都可以在 BuildDetail 对象中或从环境中获得。然而,Build Id 是一个特殊情况。它来自构建表的标识列,并不直接在我们的公共(public) API 中公开。您可以从 BuildNumber 中提取它,如下所示:

BuildDetail.BuildNumber.Substring(BuildDetail.BuildNumber.LastIndexOf('/') + 1)

请注意,您需要直接在 XAML 中执行此操作,而不是将 VB 表达式放入构建过程参数编辑器 GUI 中。这是因为这些值只是作为文字字符串传递。

关于msbuild - 如何在 MSBuild 中使用团队构建属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7232055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com