12

Betrachten Sie diese einfache msbuild Skript (XAML):WriteBuildMessage nicht angezeigt

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

Ich habe eine tfs Builddefinition für dieses Skript basiert. Wenn ich einen neuen Build in tfs einreihte, wird die Warnung unter "Ansichtsprotokoll" angezeigt, die Nachricht wird nicht angezeigt.

Was denkst du darüber?

Antwort

18

Dies ist ca. eine minimal Workflow XAML-Datei, die funktioniert:

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

Standard tfsbuild Ausführlichkeit in Ansicht protokoll protokolliert ist normale aber dies wird BuildMessageImportance.Normal nicht angezeigt werden, nur High.

Ein weiterer Gotcha ist, dass Sie auf die Schaltfläche Refresh für den Build-Prozess Vorlage klicken haben darin Definition unter Punkt Prozess bauen ist.

Dies ist ein minimales Workflow-Beispiel, das einschließlich der Eigenschaft BuildVerbosity funktioniert.

<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

Ich musste meine Verbiosität auf Hoch stellen, aber ich musste die Build-Vorlage nicht aktualisieren. – McKay

+0

Ein wenig Follow-up ... Ich musste die Prozessvorlage aktualisieren, damit die Protokollierungsmeldung angezeigt wird. Danke Gerard. –

+0

Ein wenig weiter nach ... In TFS/VS 2012 funktionierte für mich weder das Hoch- noch das Auffrischen. Ich musste den Logging-Ausführlichkeitsumfang im Register "Warteschlangen-Build-Parameter" auf "Normal" setzen, damit er überhaupt angezeigt wurde. – 4imble