カスタムロガーから配列、リスト、またはオブジェクトを返すことは可能ですか?msbuildカスタムロガーからコレクションを返す
MSBuildで生成されたすべてのエラーと警告を追加して配列に格納し、この配列をビルドスクリプトに渡して、必要に応じてレポートします。
これは可能ですか?
カスタムロガーから配列、リスト、またはオブジェクトを返すことは可能ですか?msbuildカスタムロガーからコレクションを返す
MSBuildで生成されたすべてのエラーと警告を追加して配列に格納し、この配列をビルドスクリプトに渡して、必要に応じてレポートします。
これは可能ですか?
これは直接行うことはできません。コマンドラインのように、ビルドエンジンに渡されるロガーは、msbuildスクリプトから後でアクセスする方法がないようです。プログラマティックに、多分、私はそれをどうやって行うのか分からないでしょう。さらに、ロガーはILoggerインターフェースに準拠しています。それはmsbuildのすべてのものなので、どのメソッドを追加してもアクセスできなくなります。
回避方法はありますが、たとえばthisを参照してください。そのトリックは、カスタムロガーを含むdllにはmsbuildからアクセスできるので、ロガーがイベントを収集し、同じdll内のカスタムタスクを使用して同じリストにアクセスできるdllの静的リストに格納するとします。そのタスクがItemGroupとして静的リストをmsbuildスクリプトに戻すようにしてください。
鮮やかなstijn、まさに私が探していたもの。 –
可能かもしれませんが、これまでに何を試しましたか?それはあなたの質問がすぐに閉じられるつもりであるようにSOは '私にコードのサイトを教えてください'ではありません。カスタムロガーの作成は比較的簡単で、ここにコードサンプルがありますので、最初に試してみてください。実際の問題が発生した場合は、ここでいくつかのコードを入力して、正確な問題を述べてください。 – stijn
こんにちはstijn、ご意見ありがとうございます。 私はコードを探していません。私は尋ねました、それは可能です。私は多くの例を見てきましたが、ビルド完了時にカスタムロガーから何かが戻ってくるのを見たことがありません。 –