0

現在のブランチの名前である C# 定数を生成する方法はありますか?

私の目標は、次のようなものを生成することです。

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

(release/V0.2は現在のブランチの名前です)。

私は両方のソース管理サービスを評価しているので、私の質問は TFS 2013 と GIT の両方に当てはまります。

Tf Command-Line Utility Commandsを見て、ビルド前のイベントを微調整できるかどうかを確認しましたが、現在のブランチ名を取得する方法が見つかりませんでした。

gitを使用して、SOの別の回答でこのコマンドラインを見つけました:

git rev-parse --abbrev-ref HEAD

これはうまくいきます。

どちらの場合も、そのようなファイルを生成する正しい方法は何でしょうか?

4

1 に答える 1

1

私は TFS を使わなければならないという不運に見舞われたことがなかったので、どうしようもありません。

git を使用して、現在のブランチ名を取得する方法を特定しました。トリックは、それを使用して、ビルド前のイベントとしてファイル内の文字列を置き換えることです。cmdよりもはるかに使いやすい検索/置換機能を提供できるため、これにはpowershellを使用することをお勧めします。

ファイルを次のように変更します。

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

次に、ログファイルではなく変数で出力をキャプチャする方法を参照してください。git の出力を powershell 変数にキャプチャする方法の詳細については、次に、Windows コマンド ライン環境を使用して、ファイル内のテキストを検索して置換するにはどうすればよいでしょうか? 検索と置換の詳細については。

[BRANCH_VALUE]その場合のアイデアは、プリコンパイル イベントで git ブランチに置き換えることです。

于 2013-10-21T08:35:03.990 に答える