我偶尔想查看实际的构建事件脚本以进行调试。我已经尝试使用 @echo 引导脚本,它应该根据文档工作,但我还没有看到除了 exe 或构建输出中的显式“回显某些文本”输出之外的任何内容。
这是我的构建事件:
echo on
cd $(ProjectDir)_dev
PostBuildEvents.bat $(ConfigurationName) $(TargetName)
我确实在输出中看到了这个文本,但在 .bat 文件中什么也没有。我还尝试在批处理文件的顶部添加回声,但这也不起作用。
我偶尔想查看实际的构建事件脚本以进行调试。我已经尝试使用 @echo 引导脚本,它应该根据文档工作,但我还没有看到除了 exe 或构建输出中的显式“回显某些文本”输出之外的任何内容。
这是我的构建事件:
echo on
cd $(ProjectDir)_dev
PostBuildEvents.bat $(ConfigurationName) $(TargetName)
我确实在输出中看到了这个文本,但在 .bat 文件中什么也没有。我还尝试在批处理文件的顶部添加回声,但这也不起作用。
我正在努力解决同样的问题。我能够克服这个问题的唯一方法是回显每一行,但这需要输入两次,一次用于回显,一次用于执行。所以我决定将变量与 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。
一种选择是让 Post-Build Event 用于cmd /c启动批处理脚本,默认情况下该脚本将具有echo on。
例如:
cmd /c PostBuildStep.cmd "$(MSBuildProperty1)" "$(MSBuildProperty2)"