2011-06-27 13 views
5

Tengo un archivo TFSBuild.proj y necesito agregar el registro de fecha/hora para las estadísticas, es decir, qué partes de las compilaciones toman más tiempo y dónde podemos mejorar el proceso.¿Cómo agregar una marca de tiempo a TFSBuild.proj?

La construcción genera el registro en BuildLog.txt. Utilizo las siguientes etiquetas para obtener mensajes personalizados en el archivo BuildLog.txt, pero necesito agregar una marca de tiempo a cada mensaje.

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

¿Es posible obtener una marca de tiempo en el mensaje? ¿Hay una variable MSBuild que obtenga el valor de fecha y hora actual? En el ejemplo anterior, StartTimeGoesHere será algo así como "01 Ene 2001 14:10:12" y EndTimeGoesHere será algo así como "01 Ene 2001 14:14:43".

Respuesta

8

No necesita ningún soporte externo siempre que use MSBuild 4.0. Sólo tiene que utilizar una función de propiedad dentro de un objetivo,

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

que creará el siguiente valor para $ (DateTimeNow),

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

Funciona como un encanto, gracias. – Alicia

1

Debe usar MS Build Community Tasks. Tiene una tarea de tiempo que le dará lo que quiere.

http://msbuildtasks.tigris.org/

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

Usted tendrá que configurar una hora de inicio y fin, y tendrá que tener cuidado cuando se invoca las tareas.

+0

útil para las personas en las versiones anteriores de MSBuild. –

Cuestiones relacionadas