2016-04-07 6 views
-1

カスタムロガーから配列、リスト、またはオブジェクトを返すことは可能ですか?msbuildカスタムロガーからコレクションを返す

MSBuildで生成されたすべてのエラーと警告を追加して配列に格納し、この配列をビルドスクリプトに渡して、必要に応じてレポートします。

これは可能ですか?

+0

可能かもしれませんが、これまでに何を試しましたか?それはあなたの質問がすぐに閉じられるつもりであるようにSOは '私にコードのサイトを教えてください'ではありません。カスタムロガーの作成は比較的簡単で、ここにコードサンプルがありますので、最初に試してみてください。実際の問題が発生した場合は、ここでいくつかのコードを入力して、正確な問題を述べてください。 – stijn

+0

こんにちはstijn、ご意見ありがとうございます。 私はコードを探していません。私は尋ねました、それは可能です。私は多くの例を見てきましたが、ビルド完了時にカスタムロガーから何かが戻ってくるのを見たことがありません。 –

答えて

0

これは直接行うことはできません。コマンドラインのように、ビルドエンジンに渡されるロガーは、msbuildスクリプトから後でアクセスする方法がないようです。プログラマティックに、多分、私はそれをどうやって行うのか分からないでしょう。さらに、ロガーはILoggerインターフェースに準拠しています。それはmsbuildのすべてのものなので、どのメソッドを追加してもアクセスできなくなります。

回避方法はありますが、たとえばthisを参照してください。そのトリックは、カスタムロガーを含むdllにはmsbuildからアクセスできるので、ロガーがイベントを収集し、同じdll内のカスタムタスクを使用して同じリストにアクセスできるdllの静的リストに格納するとします。そのタスクがItemGroupとして静的リストをmsbuildスクリプトに戻すようにしてください。

+0

鮮やかなstijn、まさに私が探していたもの。 –

関連する問題