Question

Consider this simple msbuild script (xaml):

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

I have a tfs build definition based on this script. When I queue a new build in tfs, the warning is displayed under "view log", the message is not displayed.

What do you think of that?

Était-ce utile?

La solution

This is approx. a minimal workflow xaml file that works:

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

Default tfsbuild verbosity for logging in view log is normal but this will not display BuildMessageImportance.Normal, only High.

Another gotcha is that you have to click the button Refresh for the build process template in it's build definition under item Process.

This is a minimal workflow example that works including the BuildVerbosity property.

<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top