C# で、すでに実行中の cctray プロセスからビルド イベントをリッスンする方法を知っている人はいますか?

StackOverflow https://stackoverflow.com/questions/358251

質問

C# アプリケーションを作成しましたが、cctray (クルーズ コントロール トレイ) のビルド イベントを利用できるかどうかを考えています。車輪の再発明はしたくありません。カスタム C# アプリケーションが特定の一連のルーチンを実行できるように、ビルドが (クライアント マシン上で) いつ失敗するか成功するかを知りたいだけです。

役に立ちましたか?

解決

あなたはrefrenceとしてCruiseControlのリモートライブラリを追加し、CruiseManagerFactoryのインスタンスを作成し、このラインはあなたのすべてのプロジェクトのステータスを取得しますことができます。 ServerUriは、TCPの形式の文字列です://サーバー名:ポート/ CruiseManager.rem

ProjectStatus[] currentStatuses = managerFactory.GetCruiseManager(ServerUri).GetProjectStatus();

この例では、私は明らかにCruiseManagerFactory managerFactoryの私のインスタンスの名前。 ProjectStatusの配列は、ServerUriのアドレスのすべてのプロジェクトの現在のステータスを持っています。

他のヒント

ビルドツールを使用してそれを行うことができない理由はありますか?
例えばで ナント, を使用すると、ビルドが失敗または成功したときに実行するターゲットを指定できます。 nant.onfailure プロパティと nant.onsuccess プロパティ. 。ビルド ターゲットでは、タスクの実行を通じて C# アプリケーションを呼び出すことができます。
クルーズコントロールには onSuccess および onFailure パブリッシャー...しかし、不思議なことにCruiseControl.netではそれらを見つけることができません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top