12

ce simple script Tenir compte msbuild XAML():WriteBuildMessage pas affiché

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

J'ai une définition de build TFS basé sur ce script. Lorsque je place une nouvelle construction dans tfs, l'avertissement est affiché sous "view log", le message n'est pas affiché.

Que pensez-vous de cela?

Répondre

18

Ceci est approx. un fichier XAML de workflow minimale qui fonctionne:

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

Par défaut tfsbuild verbosité pour vous connecter vue journal est normale mais ce ne sera pas afficher BuildMessageImportance.Normal, seulement High.

Une autre Gotcha est que vous devez cliquer sur le bouton Actualiser pour le modèle de processus de construction dans sa construction définition au titre du point processus.

Ceci est un exemple de flux de travail minimal qui fonctionne notamment avec la propriété 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

Je devais définir ma verbiosité à un niveau élevé sur mes messages, mais je n'avais pas besoin d'actualiser le modèle de construction. – McKay

+0

Un petit suivi ... J'ai dû actualiser le modèle de processus pour que le message de journalisation apparaisse. Merci Gerard. –

+0

Un peu plus loin ... Ni l'avoir réglé haut ni rafraîchissant n'a fonctionné pour moi dans TFS/VS 2012. J'ai dû définir la verbosité de journalisation sur Normal dans l'onglet Paramètres de la file d'attente pour qu'elle s'affiche. – 4imble