12

considerare questo semplice script msbuild (XAML):WriteBuildMessage non visualizzato

<Activity xmlns=[....]> 
    <Sequence> 
    <mtbwa:WriteBuildMessage Message="Test message"/> 
    <mtbwa:WriteBuildWarning Message="Test warning"/> 
    </Sequence> 
</Activity> 

Ho una definizione TFS costruire sulla base di questo script. Quando accodo un nuovo build in tfs, l'avviso viene visualizzato sotto "Visualizza registro", il messaggio è non visualizzato.

Cosa ne pensi?

risposta

18

Questo è di ca. un file minimo flusso di lavoro XAML che funziona:

<Activity xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" 
      xmlns:mtbwa="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Activities;assembly=Microsoft.TeamFoundation.Build.Workflow"> 
    <Sequence> 
    <mtbwa:WriteBuildMessage Importance="[Microsoft.TeamFoundation.Build.Client.BuildMessageImportance.High]" 
          Message="Test WriteBuildMessage Importance High"/> 
    </Sequence> 
</Activity> 

predefinito TFSBuild verbosità per l'accesso vista del registro è normale ma questo non visualizzerà BuildMessageImportance.Normal, solo High.

Un'altra Gotcha è che si deve fare clic sul pulsante Aggiorna per il modello di processo di compilazione nella sua costruzione di definizione alla voce processo.

Questo è un esempio di flusso di lavoro minimo che funziona inclusa la proprietà BuildVerbosity.

<Activity xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" 
      xmlns:mtbw="clr-namespace:Microsoft.TeamFoundation.Build.Workflow;assembly=Microsoft.TeamFoundation.Build.Workflow" 
      xmlns:mtbwa="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Activities;assembly=Microsoft.TeamFoundation.Build.Workflow" 
      xmlns:this="clr-namespace:TfsBuild" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      x:Class="TfsBuild.Process" 
      this:Process.Verbosity="[Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Diagnostic]"> 
    <x:Members> 
    <x:Property Name="Verbosity" 
       Type="InArgument(mtbw:BuildVerbosity)" /> 
    </x:Members> 
    <Sequence> 
    <mtbwa:WriteBuildMessage Importance="[Microsoft.TeamFoundation.Build.Client.BuildMessageImportance.Low]" 
          Message="Test WriteBuildMessage Importance Low"/> 
    </Sequence> 
</Activity> 
+0

Ho dovuto impostare la verbiosity in alto sui miei messaggi, ma non ho dovuto aggiornare il modello di build. – McKay

+0

Un po 'di follow-up ... ho dovuto aggiornare il modello di processo per far apparire il messaggio di registrazione. Grazie Gerard. –

+0

Un po 'di ulteriore follow-up ... Né l'impostazione su high o refreshing ha funzionato per me in TFS/VS 2012. Ho dovuto impostare la verbosità di registrazione su Normal nella scheda Queue Build per consentirne la visualizzazione. – 4imble