Visual studio 2012 &引用@“回音”;对于Visual Studio 2012中的生成后事件批处理文件
出于调试目的,我偶尔希望看到实际的构建事件脚本。我已经尝试使用@echo引导脚本,该脚本应该根据的工作,但是除了在构建输出中看到exe或显式的“echo some text”输出之外,我还没有看到任何其他内容 以下是我的构建活动:Visual studio 2012 &引用@“回音”;对于Visual Studio 2012中的生成后事件批处理文件,visual-studio-2012,Visual Studio 2012,出于调试目的,我偶尔希望看到实际的构建事件脚本。我已经尝试使用@echo引导脚本,该脚本应该根据的工作,但是除了在构建输出中看到exe或显式的“echo some text”输出之外,我还没有看到任何其他内容 以下是我的构建活动: echo on cd $(ProjectDir)_dev PostBuildEvents.bat $(ConfigurationName) $(TargetName) 我确实在输出中看到了此文本,但在.bat文件中没有看到任何内容。我还尝试将echo添加到批处理文件
echo on
cd $(ProjectDir)_dev
PostBuildEvents.bat $(ConfigurationName) $(TargetName)
我确实在输出中看到了此文本,但在.bat文件中没有看到任何内容。我还尝试将echo添加到批处理文件的顶部,但也没有成功。虽然答案来得非常晚,但它可能对其他人有用:我找到的唯一方法也包含在文档页面中,它如下所示: 修改项目设置以收取超过默认金额的款项 生成日志中的所有信息。在工具菜单上,单击选项。在里面 在“选项”对话框中,单击“项目和解决方案”节点,然后单击 单击“生成并运行”节点。然后,在MSBuild项目生成日志中 文件详细程度框中,单击详细程度
我也在为同样的问题挣扎。我能够克服这个问题的唯一方法是回显每一行,但这需要将所有内容键入两次,一次用于回显,一次用于执行。所以我决定将变量与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文件的每一行以及它们产生的任何消息,如果出现错误,“退出1”将由VS接收,并且生成失败。一个选项是让生成后事件使用
cmd/c
启动批处理脚本,默认情况下会启用echo
例如:
cmd /c PostBuildStep.cmd "$(MSBuildProperty1)" "$(MSBuildProperty2)"
这确实解决了这个问题,但作为回报,您可以获得构建的任何内容的详细输出,我担心这通常不是人们想要的。不过,对于调试来说,这仍然是一个很好的建议!就我个人而言,我发现将细节设置为“正常”已经足够了,它不会给你提供大量你不想要的细节。“正常”对于在后期构建中看到程序的标准运行起到了作用。谢谢。这在VS2017中适用于MSBuild项目生成输出详细程度:最小。