CC.Net用のカスタムラベラーを作成しましたが、これはほぼ完璧に動作しますが、アプリケーションがビルドされる前にラベラーが動作しているようです。私が持っている問題は、ビルドラベルをAssemblyVersionのものにしたいということです。CruiseControl.Net - MSBuildの後にlabellerを実行することはできますか?
私は私のラベラに次き:
public string Generate(IIntegrationResult previousResult)
{
if (File.Exists(this.OutputExecutable))
{
Assembly assembly = System.Reflection.Assembly.Load(System.IO.File.ReadAllBytes(this.OutputExecutable));
string version = assembly.GetName().Version.ToString();
assembly = null;
return version;
}
else
{
return "0.0.0.0";
}
}
私は私のビルドラベルとして使用できるようにこれを提供DLL/exeファイルのバージョンを取得します。私はおそらく後で実際のビルド番号を追加するつもりですが、私はちょうど最初にこのビットを働かせたいです。
問題は、私のリビジョン番号がフォーマット2.0.93601.254 major.minor.date.svnrevisionであるということです。チェックインが発生すると、私はコードベースを構築し、リビジョン番号は2.0.93601.255になります。残念ながら、.255に変更されると強制ビルドが呼び出されるまで、CC.Netは.254のビルド・ラベルを生成します。
は、私がビルドプロセスが完了するまで待機するラベラーを強制することができます方法はありますか?または、これをやるべきである別の方法がありますか?