【问题标题】:Access parameter %build.counter% inside MSBuild project built by TeamCity访问 TeamCity 构建的 MSBuild 项目中的参数 %build.counter%
【发布时间】:2014-11-23 04:31:34
【问题描述】:

我有一个 MSBuild/C# 项目,其目标试图访问应该由 TeamCity 设置的 `%build.counter% 参数。

<Target Name="TraceBuildParameters" BeforeTargets="BeforeBuild">
    <Message Text="Build.Counter=$(build_counter)" />
</Target>

我可以在 TeamCity 项目构建设置中访问它,但在脚本中这些都不起作用:

build.counter // msbuild error
build_counter // null
system_build_counter // null
teamcity_system_build_counter // null
teamcity_build_counter // null

这个参数到底能不能访问,是暴露的吗?

【问题讨论】:

    标签: msbuild teamcity msbuild-target


    【解决方案1】:

    TeamCity 会将任何 system 参数发送到您的 MSBuild 脚本(而不是 configuration 参数)。如果您明确需要%build.counter% 值,最简单的方法是设置system 参数,如下所示:

    system.BuildCounter = %build.counter%

    那么您应该可以将其引用为$(BuildCounter)

    或者,build.number 已作为 $(build_number) 发送到 MSBuild。根据您是否在 Configuration -&gt; General Settings 选项卡上自定义了内部版本号,这可能会节省对额外参数的需求。

    【讨论】:

    • 简洁优雅。谢谢! (我有 build.number 作为 x.y.z 所以想单独使用它,只是 'z')
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-16
    • 2014-12-26
    • 2015-01-27
    • 2019-08-02
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多