首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于Visual Studio 2012中的生成后事件批处理文件,请使用"@echo on“

对于Visual Studio 2012中的生成后事件批处理文件,请使用"@echo on“
EN

Stack Overflow用户
提问于 2013-06-14 07:17:33
回答 3查看 11.8K关注 0票数 20

出于调试的目的,我有时希望看到实际的构建事件脚本。我曾尝试使用@echo引导脚本,但我还没有在构建输出中看到除exe或显式的"echo some text“输出之外的任何内容,该脚本应根据documentation工作。

下面是我的构建事件:

代码语言:javascript
运行
复制
echo on
cd $(ProjectDir)_dev
PostBuildEvents.bat $(ConfigurationName) $(TargetName)

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

EN

回答 3

Stack Overflow用户

发布于 2014-01-26 23:53:08

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

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

票数 23
EN

Stack Overflow用户

发布于 2016-08-28 16:17:05

我也在纠结于同样的问题。我能够克服这一点的唯一方法是回显每一行,但这需要键入两次所有内容,一次用于echo,一次用于执行。所以我决定在echo中使用变量。

代码语言:javascript
运行
复制
ECHO ON
ECHO C:\myFolder\bin\heat.exe
C:\myFolder\bin\heat.exe
if errorlevel 1 exit 1

处理变量的更好方法

代码语言:javascript
运行
复制
ECHO ON
SET vCmdl="C:\myFolder\bin\heat.exe" 
ECHO %vCmdl%
%vCmdl%
if errorlevel 1 exit 1

这样,我就可以在输出窗口中看到bat文件的每一行,以及它们产生的任何消息,如果出现错误,VS将收到"exit 1“,构建将失败。

票数 7
EN

Stack Overflow用户

发布于 2019-01-08 08:40:22

一种选择是让Post-Build事件使用cmd /c启动批处理脚本,该脚本在默认情况下会启用echo。

为例:

代码语言:javascript
运行
复制
cmd /c PostBuildStep.cmd "$(MSBuildProperty1)" "$(MSBuildProperty2)"
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17098788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档