TFS2010 - Registro dentro de la actividad de compilación personalizada

Tenemos una actividad de compilación personalizada, que realiza la ejecución de nuestra compilación. Usamos una actividad personalizada, porque los compiladores que utilizamos son muy especiales y el sistema es bastante antiguo y no queremos reescribir todo para que funcione con MSBuild. Sin embargo, el repositorio es administrado por TFS y la compilación será activada por TFS.

Dentro de la actividad de compilación personalizada, me gustaría registrar el estado. Actualmente, estoy haciendo esto con esta pieza de código C #:

<code>private void LogMessage(String message, CodeActivityContext context)
        {
           BuildInformationRecord<BuildMessage> record =
             new BuildInformationRecord<BuildMessage>()
             {
                 Value = new BuildMessage()
                    {
                        Importance = BuildMessageImportance.High,
                        Message = message,
                    },
             };

            context.Track(record);
        }
</code>

Funciona, sin embargo, hay un gran problema: nuestra actividad de compilación personalizada toma alrededor de 6 horas para la ejecución (como dije, es un proyecto de software antiguo y grande). El problema es que los mensajes de registro solo aparecen dentro del resumen de compilación de TFS una vez que la acción de compilación se ha completado. Entonces, después de 6 horas de construcción, todos los mensajes de registro aparecen a la vez.

Lo que nos gustaría tener es que los mensajes se muestren a medida que se registran. Para que el tipo de construcción pueda ver dónde está la construcción actualmente, y también ver qué sucedió.

Una solución que implementé hasta ahora es hacer que la actividad de compilación personalizada use una Cola de mensajes que se comparte con la parte de base de flujo de trabajo. Luego, dentro de la base de flujo de trabajo, creé una declaración paralela que ejecuta la compilación y al mismo tiempo vacía la cola de mensajes y los muestra. Aquí hay una captura de pantalla de ese constructo:

Sin embargo, el resultado es bastante decepcionante. Esto es lo que sale:

El rojo es el mensaje de registro de compilación real, todo a su alrededor es solo el bucle while y las otras cosas ...

¿Es posible apagar esos mensajes de registro?

Respuestas a la pregunta(2)

Su respuesta a la pregunta