2009-03-31 7 views
4

Ich habe einen benutzerdefinierten MSBuild-Task geschrieben, nennen Sie ihn TaskA, der eine Datei analysiert und eine Verarbeitung durchführt. Ich möchte jetzt einen anderen MSBUild-Task schreiben, nennen Sie es TaskB, der TaskA darin verwendet. Ich weiß, dass ich TaskA wie eine normale Klasse verwenden und seine Ausführungsmethode nur von TaskB aufrufen kann. Aber halten Sie das für plausibel? Werden die Protokollnachrichten von TaskA weiterhin protokolliert, wenn TaskB ausgeführt wird?Schreiben eines benutzerdefinierten MSBuild-Tasks, der einen anderen benutzerdefinierten MSBuild-Task verwendet

Antwort

7

Ja, es ist plausibel, und ja die Protokollnachrichten von TaskA werden weiterhin protokolliert. Vergessen Sie nicht, TaskA.BuildEngine auf TaskB zu setzen.

public class TaskA : Task 
{ 
    public override bool Execute() 
    { 
     Log.LogMessage("Task A"); 

     return true; 
    } 
} 

public class TaskB : Task 
{ 
    public override bool Execute() 
    { 
     Log.LogMessage("Task B"); 

     TaskA taskA = new TaskA(); 
     taskA.BuildEngine = BuildEngine; 

     taskA.Execute(); 

     return true; 
    } 
} 
Verwandte Themen