如何调试MSBuild 文件?

10

我有一个庞大的解决方案,正在使用TFS(和MSBuild)进行构建。但是,构建所有内容需要很长时间,我想知道是否可以只调试构建XML文件而不进行构建本身。

我正在使用VS2008和TFS 2008。

1个回答

16

不幸的是,在.NET 4.0中,使用Visual Studio调试MSBuild脚本已经非官方地引入

对于早期版本,您只能采用"通过跟踪进行调试"的方式,在脚本的关键点插入日志语句,运行脚本并检查输出。

以下是使用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)" Importance="High" />
        <!-- Some tasks -->
    </Target>
</Project>

您可以从命令行调用脚本,并将输出重定向到日志文件:

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

相关资源:


5
为了在 Visual Studio 中显示消息,我需要将 Importance="High" 进行设置。 - jpierson
1
有人尝试过在Visual Studio 2017中使用“Debugging MSBuild scripts with Visual Studio (.NET 4.0)”吗? - JackGrinningCat
当我尝试这个时,我会得到以下错误:“error MSB4066:元素<Target>中的属性“Name”未被识别。” “MyTarget”的位置应该是什么?是构建配置吗? - rollsch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接