2012-02-03 18 views
8

Come posso aggiungere BuildMessage (s) in BuildActivity personalizzato?Come posso utilizzare BuildMessage in BuildActivity personalizzato?

[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" 
     }; 
    } 
} 

}

Per WorklowActivity c'è un WorkflowInvoker speciale ...

Grazie un sacco.

risposta

15

Accesso a un codice È possibile eseguire l'attività tramite CodeActivityContext.

Esempio:

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

TrackBuildMessage è un metodo di estensione che si trova nello spazio dei nomi: Microsoft.TeamFoundation.Build.Workflow.Activities

+0

Ciao Attualmente sto cercando di mostrare un messaggio di build per TFS. Ma non riesco a trovare questa funzione, nel mio contesto 'CodeActivityContext' ho solo una funzione chiamata Track che prende' System.Activities.Tracking.CustomTrackingRecord' – Qpirate

+1

L'ho trovato, non ha fatto abbastanza google, la funzione è basata giù in 'C: \ Programmi (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PrivateAssemblies \ spero che questo aiuti qualcun altro – Qpirate

+6

Questo è un metodo di estensione. È necessario aggiungere un'istruzione 'using' per lo spazio dei nomi' Microsoft.TeamFoundation.Build.Workflow.Activities' per accedere a questa funzione. –

Problemi correlati