2009-03-31 6 views
4

사용자 지정 MSBuild 작업을 작성하여 파일을 구문 분석하고 일부 처리를 수행하는 TaskA라고합니다. 이제 TaskB를 TaskB라고 부르며 TaskA를 사용하는 다른 MSBUild 태스크를 작성하려고합니다. TaskA를 정상 클래스처럼 사용할 수 있고 TaskB에서 execute 메서드를 호출한다는 것을 알고 있습니다. 그러나 이것이 그럴듯하다고 생각하십니까? TaskB가 실행될 때 TaskA의 로그 메시지가 계속 로그됩니까?다른 사용자 지정 MSBuild 작업을 사용하는 사용자 지정 MSBuild 작업 작성

답변

7

예, 그렇습니다. TaskA의 로그 메시지가 계속 기록됩니다. taskA.BuildEngine을 taskB one로 설정하는 것을 잊지 마십시오.

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; 
    } 
} 
관련 문제