2012-02-03 2 views
8

Как добавить BuildMessage (ы) в пользовательскую BuildActivity?Как я могу использовать BuildMessage в пользовательской BuildActivity?

[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.

Пример:

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

TrackBuildMessage является метод расширения, который можно найти в пространстве имен: Microsoft.TeamFoundation.Build.Workflow.Activities

+0

Привет я в настоящее время пытается показать сообщение для сборки TFS. Но я не могу найти эту функцию, в моем «контексте CodeActivityContext» у меня есть функция, называемая Track, которая принимает 'System.Activities.Tracking.CustomTrackingRecord' – Qpirate

+1

Я нашел его, не сделал достаточно Google, функция основана на 'C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PrivateAssemblies надеется, что это поможет кому-то еще – Qpirate

+6

Это метод расширения. Вам нужно добавить оператор 'using' для пространства имен' Microsoft.TeamFoundation.Build.Workflow.Activities', чтобы получить доступ к этой функции. –