20

我偶尔想查看实际的构建事件脚本以进行调试。我已经尝试使用 @echo 引导脚本,它应该根据文档工作,但我还没有看到除了 exe 或构建输出中的显式“回显某些文本”输出之外的任何内容。

这是我的构建事件:

echo on
cd $(ProjectDir)_dev
PostBuildEvents.bat $(ConfigurationName) $(TargetName)

我确实在输出中看到了这个文本,但在 .bat 文件中什么也没有。我还尝试在批处理文件的顶部添加回声,但这也不起作用。

4

3 回答 3

23

虽然答案会非常晚,但它可能对其他来到这里的人有用:我发现的唯一方法也包含在文档页面中,如下所示:

修改您的项目设置以在构建日志中收集超过默认数量的信息。在工具菜单上,单击选项。在“选项”对话框中,单击“项目和解决方案”节点,然后单击“构建和运行”节点。然后,在MSBuild 项目构建日志文件详细程度框中,单击详细信息。

在此处输入图像描述

于 2014-01-26T15:53:07.823 回答
8

我正在努力解决同样的问题。我能够克服这个问题的唯一方法是回显每一行,但这需要输入两次,一次用于回显,一次用于执行。所以我决定将变量与 echo 一起使用。

ECHO ON
ECHO C:\myFolder\bin\heat.exe
C:\myFolder\bin\heat.exe
if errorlevel 1 exit 1

变量的更好方法

ECHO ON
SET vCmdl="C:\myFolder\bin\heat.exe" 
ECHO %vCmdl%
%vCmdl%
if errorlevel 1 exit 1

通过这种方式,我可以在输出窗口中看到 bat 文件的每一行以及它们产生的任何消息,如果发生错误,VS 会收到“exit 1”并构建 FAILS。

于 2016-08-28T08:17:05.117 回答
4

一种选择是让 Post-Build Event 用于cmd /c启动批处理脚本,默认情况下该脚本将具有echo on

例如:

cmd /c PostBuildStep.cmd "$(MSBuildProperty1)" "$(MSBuildProperty2)"
于 2019-01-08T00:40:21.927 回答