【问题标题】:How to add a timestamp to TFSBuild.proj?如何向 TFSBuild.proj 添加时间戳?
【发布时间】:2011-06-27 01:24:47
【问题描述】:

我有一个 TFSBuild.proj 文件,我需要为统计添加日期/时间日志记录,即构建的哪些部分花费的时间最多,以及我们可以在哪里改进流程。

构建将日志输出到 BuildLog.txt。我使用以下标签在 BuildLog.txt 文件中获取自定义消息,但我需要为每条消息添加时间戳。

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

是否可以在消息中获取时间戳?是否有获取当前日期时间值的 MSBuild 变量?在上面的示例中,StartTimeGoesHere 将类似于“2001 年 1 月 1 日 14:10:12”,而 EndTimeGoesHere 将类似于“2001 年 1 月 1 日 14:14:43”。

【问题讨论】:

    标签: logging msbuild timestamp tfsbuild


    【解决方案1】:

    只要您使用的是 MSBuild 4.0,就不需要任何第三方支持。只需在目标中使用属性函数,

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

    这将为 $(DateTimeNow) 创建以下值,

    6/26/2011 9:00:27 PM
    

    【讨论】:

      【解决方案2】:

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

      http://msbuildtasks.tigris.org/

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

      您需要设置开始和结束时间,并且需要注意调用任务的位置。

      【讨论】:

      • 对使用旧版 MSBuild 的人很有用。
      猜你喜欢
      • 1970-01-01
      • 2012-01-05
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多