2012-02-03 2 views
8

어떻게 BuildMessage를 사용자 정의 BuildActivity에 추가 할 수 있습니까?어떻게 사용자 정의 BuildActivity에서 BuildMessage를 사용할 수 있습니까?

[BuildActivity(HostEnvironmentOption.Agent)] 
public sealed class InvokeDotNetReactor : CodeActivity 
{ 
    [RequiredArgument] 
    public InArgument<string> SourcesDirectory { get; set; } 

    protected override void Execute(CodeActivityContext context) 
    { 
     ... 
     BuildMessage bm = new BuildMessage() 
     { 
      Importance = BuildMessageImportance.High, 
      Message = "Hello From Custom TFS Build Activity" 
     }; 
    } 
} 

} WorklowActivity를 들어

특별한 WorkflowInvoker이 ...

감사합니다 많이 있습니다.

답변

15

CodeActivity 로깅은 CodeActivityContext를 사용하여 수행 할 수 있습니다.

예 : Microsoft.TeamFoundation.Build.Workflow.Activities

+0

안녕하세요 저는 현재 TFS에 대한 빌드 메시지를 보여주기 위해 노력하고 있어요 :

protected override void Execute(CodeActivityContext context) { context.TrackBuildMessage("Hello from Custom TFS Build Activity", BuildMessageImportance.High); } 

TrackBuildMessage 네임 스페이스에서 발견 할 수있는 확장 방법이다. 하지만이 함수를 찾을 수 없습니다.'CodeActivityContext context'에서 Track이라는 함수가 있습니다. System.Activities.Tracking.CustomTrackingRecord'을 호출합니다. – Qpirate

+1

Google에서 찾은 함수는 충분하지 않습니다. 함수가 기반이됩니다. C : \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PrivateAssemblies' 다른 사람에게 도움이되기를 바랍니다. – Qpirate

+6

이것은 확장 방법입니다. 이 함수에 접근하기 위해서는'Microsoft.TeamFoundation.Build.Workflow.Activities' 네임 스페이스에'using' 문을 추가해야합니다. –

관련 문제