我有一个批处理文件在Visual Studio自定义生成步骤中运行,以将文件复制到安装目录中。我希望它在复制失败时正确地出错。与我有选择的问题是:如何在Visual Studio(2008 SP1)项目中从.bat返回错误?
exit 1
这个工程构建顺序以内罚款,但有时我想通过命令行或从另一个批处理使用批处理文件,并在这些情况下,exit
也会导致调用者退出。exit /b 1
这在命令行或从另一个批处理文件工作得很好,但Visual Studio中不识别的返回码不是0(即它的报告具有工程“0错误(S)”) 。
我碰到那个为我提供了一个解决方案的链接:http://www.nabble.com/Re:-bjam-and-Windows-p17457249.html
本质上,它说我必须做exit /b
之前呼应的错误消息。例如,
echo MyProj : error : could not copy files.
有谁知道到底什么消息格式触发Visual Studio识别错误?
我试过调整这个和一些工作,有些不这样做。似乎它必须匹配类似
.*\: .*error.*\:
这是否记录在任何地方?
谢谢。
这是Windows XP Pro SP3上的Visual Studio 2008 SP1(如果cmd.exe
在Windows版本之间有不同的行为)。
@Owen,我不知道答案,但是如果你指定你正在使用的VS的版本,它可能会有所帮助。答案可能会有所不同,具体取决于VS的确切版本。 – 2009-04-08 00:46:26
好点。这是VS 2008。 – Owen 2009-04-08 01:01:24