3

継承された MSBuild スクリプトがあり、変更が許可されていないターゲットを呼び出します。ただし、これらのターゲットの一部は、現在、出力ウィンドウで冗長すぎるメソッドを呼び出しています。たとえば、<Copy>タスクがあまりにも多く使用されているため、その出力が他の関連メッセージを排出しています。

ターゲットの呼び出し<Copy>にアクセスできないため、より詳細なものに切り替えることはできません。/verbosityスイッチをいじってみましたがminimal、出力が少なすぎて出力がnormal多すぎます。

<Copy>具体的に、または一般的に MSBuildの冗長性に影響を与えることができる他の方法はありますか?

4

1 に答える 1

2

独自のロガーを作成できます。少し複雑ですが、基本的には、表示したいメッセージを正確に微調整できます。最も簡単な方法は、デフォルトのロガーをオーバーライドすることです。

もう 1 つの簡単なオプションは、コピー タスクをオーバーライドすることです。Copy という名前の独自のカスタム タスクを作成し、UsingTask 宣言で参照します。この宣言は最初に表示する必要があると思います (タスクのオーバーライドが最初に勝つか、最後に勝つかを思い出せません)。ここでも、MSBuild アセンブリの既定のコピー タスクをサブクラス化し、Execute をオーバーライドするか、独自のタスクをロールすることができます。このタスクでは、Log.LogMessage を呼び出して各メッセージのレベルを指定することで、さまざまなメッセージに関連付けられた詳細レベルを調整できるため、表示されるコマンド ラインの詳細レベルを制御できます。

于 2011-06-15T16:42:28.340 に答える