【问题标题】:Putting TeamCity build number into the assemblies it build将 TeamCity 内部版本号放入它构建的程序集中
【发布时间】:2011-10-03 14:26:46
【问题描述】:

我是 TeamCity 的新手,我刚刚安装了它并使用 subversion 进行了设置。 我希望将 TeamCity 内部版本号放入输出文件中,以便我的 Application.exe 具有相同的内部版本号。

我该怎么做?

【问题讨论】:

    标签: teamcity


    【解决方案1】:

    试试这个:

    这是将 Team City 与 MSBuild 结合使用。如果您使用的是 Nant,请尝试以下操作:

    【讨论】:

    • 不错的发现。谢谢。我经常在本地编译,这是否需要我在本地以及 TC 服务器上安装 TC 和 MSBuild Community Tasks/NAnt?
    • 此方法在构建之前不会更改 AssemblyInfo.cs 文件,因此在其他任何地方构建都不会受到影响。显然,如果您在本地构建,则不会添加构建号。
    • 但是如果我没有在本地安装必要的构建工具,它会不会导致构建失败,或者它会忽略 $(BUILD_NUMBER) 等?
    • $(BUILD_NUMBER) 在 msbuild 文件中。我不知道您如何构建 Team City,但在我的设置中,我不使用 msbuild 文件进行本地设置(我只是使用 Visual Studio 构建)。如果你这样做了,那么你需要为本地和构建机器或其他东西提供单独的文件。
    • -1 至少应该提供上下文,这是对问题的最低公分母答案。 TeamCity 有一个 AssemblyInfo 修补程序构建任务,这是一条简单的路径。
    【解决方案2】:

    现在在 teamcity 中内置了一个 assemblyinfo 修补程序。他们称之为构建功能:http://confluence.jetbrains.net/display/TCD65/AssemblyInfo+Patcher

    将其与提到的参数一起使用或自己制作,例如:1.2.%build.vcs.number%.1

    【讨论】:

      【解决方案3】:

      我在从 svn 获取源代码之后和构建开始之前运行一个 powershell 脚本。

      差不多是这样。

      http://jake.murzy.com/post/3099699807/how-to-update-assembly-version-numbers-with-teamcity

      【讨论】:

        猜你喜欢
        • 2011-01-02
        • 1970-01-01
        • 2012-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-16
        • 2013-03-18
        • 1970-01-01
        相关资源
        最近更新 更多