WriteBuildMessage не отображается - PullRequest
12 голосов
/ 28 июля 2010

Рассмотрим этот простой скрипт msbuild (xaml):

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

У меня есть определение сборки tfs, основанное на этом скрипте.Когда я ставлю в очередь новую сборку в TFS, предупреждение отображается в разделе «Просмотр журнала», сообщение не отображается .

Что вы думаете об этом?

1 Ответ

18 голосов
/ 04 августа 2010

Это ок. минимальный рабочий файл xaml, который работает:

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

По умолчанию многословность tfsbuild для входа в систему просмотр журнала равна нормальный , но это не будет отображать BuildMessageImportance.Normal, только High.

Другое уловка заключается в том, что вам нужно нажать кнопку Обновить для шаблона процесса сборки в его определении сборки в пункте Процесс .

Это минимальный пример рабочего процесса, который работает, включая свойство 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>
...