2011-06-27 190 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

有用的人。 –