Как добавить метку времени в TFSBuild.proj? - PullRequest
5 голосов
/ 27 июня 2011

У меня есть файл TFSBuild.proj, и мне нужно добавить регистрацию даты / времени для статистики, т. Е. Какие части сборок занимают больше всего времени и где мы можем улучшить процесс.

Сборка выводит журнал в BuildLog.txt. Я использую следующие теги для получения пользовательских сообщений в файле BuildLog.txt, но мне нужно добавить метку времени к каждому сообщению.

<Message Text="Debug: BeforeGet start: StartTimeGoesHere"></Message>
<Message Text="Debug: BeforeGet end: EndTimeGoesHere"></Message>

Можно ли получить метку времени в сообщении? Существует ли переменная MSBuild, которая получает текущее значение даты и времени? В приведенном выше примере StartTimeGoesHere будет что-то вроде «01 Jan 2001 14:10:12», а EndTimeGoesHere будет что-то вроде «01 Jan 2001 14:14:43».

Ответы [ 2 ]

8 голосов
/ 27 июня 2011

Сторонняя поддержка не требуется, если вы используете MSBuild 4.0. Просто используйте функцию свойства внутри цели,

<PropertyGroup>
  <DateTimeNow>$([System.DateTime]::Now)</DateTimeNow>
</PropertyGroup>

, который создаст следующее значение для $ (DateTimeNow),

6/26/2011 9:00:27 PM
1 голос
/ 27 июня 2011

Вам необходимо использовать задачи сообщества MS Build.У него есть задача Времени, которая даст вам то, что вы хотите.

http://msbuildtasks.tigris.org/

 <Time Format="yyyy-MM-dd hh:mm:ss">
    <Output TaskParameter="FormattedTime" PropertyName="currentTime" />
 </Time>

Вам нужно будет настроить время начала и окончания, и вам нужно быть осторожным в том, гдеВы вызываете задачи.

...