2011-06-27 148 views
5

我有一个TFSBuild.proj文件,我需要为统计信息添加日期/时间日志记录,即构建哪些部分花费最多的时间以及我们可以在哪里改进过程。如何将时间戳添加到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”。

回答

8

只要您使用的是MSBuild 4.0,就不需要任何第三方支持。只是在旧版本的MSBuild使用属性功能的目标内,

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

这将为$(DateTimeNow)以下的值,

6/26/2011 9:00:27 PM 
+0

工程就像一个魅力,谢谢。 – Alicia

1

您需要使用MS Build Community Tasks。它有一个时间任务,会给你你想要的。

http://msbuildtasks.tigris.org/

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

您需要设置一个起始和结束时间,你需要小心,你调用的任务。

+0

有用的人。 –