2011-04-06 14 views
8

Tengo una gran solución que estoy usando TFS (y MSBuild) para ... bueno ... construir. Sin embargo, lleva mucho tiempo construir todo, y me preguntaba si era posible depurar el archivo XML de compilación en lugar de hacer la compilación en sí.¿Cómo puedo depurar un archivo MSBuild?

estoy usando VS2008 y TFS 2008.

Respuesta

12

Por desgracia, la posibilidad de depurar scripts de MSBuild con Visual Studio ha sido unofficially introduced in .NET 4.0.

Para versiones anteriores, todo lo que queda es "debugging trazando", que está insertando instrucciones de registro en los puntos clave de su secuencia de comandos, ejecuta el script y examina la salida.

Así es como se hace normalmente usando el Message Task:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
     <SomeVariable>foo</SomeVariable> 
    </PropertyGroup> 
    <Target Name="MyTarget"> 
     <!-- Some tasks --> 
     <Message Text="The value of SomeVariable is: $(SomeVariable)" /> 
     <!-- Some tasks --> 
    </Target> 
</Project> 

A continuación, puede invocar el script desde la línea de comandos y redirigir la salida a un archivo de registro:

msbuild MyScript.proj /t:MyTarget > %USERPROFILE%\Desktop\MyScript.log 

relacionados :

+2

Para que el mensaje se muestre en Visual Studio tuve que establecer 'Importance =" High "'. http://stackoverflow.com/questions/7557562/how-do-i-get-the-message-msbuild-task-to-shows-up-in-the-visual-studio-project – jpierson

Cuestiones relacionadas