繁体   English   中英

在C#常量中包含分支名称?

[英]Include branch name in a C# constant?

有什么方法可以生成一些C#常量,哪个值是当前分支的名称?

我的目标是生成以下内容:

public static Constants {
    public const string MyProductVersionName = "release/V0.2";
}

release/V0.2是当前分支的名称)。

我的问题适用于TFS 2013和/或GIT,因为我正在评估两种源代码控制服务。

我查看了Tf命令行实用程序命令以查看是否可以调整预构建事件,但是我没有找到如何获取当前的分支名称。

使用git,我在命令行中找到了另一个答案

git rev-parse --abbrev-ref HEAD

这很好。

在这两种情况下,生成此类文件的正确方法是什么?

我从来没有遇到过不得不使用TFS的不幸,因此无济于事。

使用git,您已经确定了如何获取当前分支名称。 然后,诀窍是使用它来替换文件中的字符串作为预构建事件。 我建议为此使用Powershell,因为它可以提供比cmd更简单易用的搜索/替换功能。

将文件更改为以下内容:

public static Constants 
{
    public const string MyProductVersionName = "[BRANCH_VALUE]";
}

然后,请参见如何捕获变量而不是日志文件中的输出? 有关将git的输出捕获到powershell变量的详细信息。 然后, 如何使用Windows命令行环境查找和替换文件中的文本? 有关搜索和替换的详细信息。

然后的想法是在预编译事件中用git分支替换[BRANCH_VALUE]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM