我有一个基于nmake的项目,该项目又调用了asp编译器,这会引发错误,而nmake似乎可以识别出:

NMAKE : fatal error U1077: 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe' : return code '0x1'

但是,当我从批处理文件中调用nmake时,环境变量%ERRORLEVEL%仍设置为零:
nmake /NOLOGO
echo BUILD RETURNING: %ERRORLEVEL%

如果我控制-c nmake任务,我最终会得到一个非零的ERRORLEVEL(它设置为2),因此我的假设是我能够捕获错误,但是nmake不会冒泡非零的错误。从任务中退出代码。或者,至少,我错了。任何帮助,将不胜感激。

最佳答案

首先,请发布您的批处理文件,以便我们了解如何捕获错误。
同时评论此帖子,以便我可以再次阅读。
作为第一个git,我猜是这样的:

nmakebatch.cmd 通常的nmake参数,不带/NOLOGO

@echo off
rem Args[x]: nmake arguments
echo.>> %~n0.log
echo %date% %time%>> %~n0.log
echo nmake /NOLOGO %*>> %~n0.log
nmake /NOLOGO %*
echo %errorlevel%>> %~n0.log

是在构建时将所有情况捕获到递增日志中的开始。

关于windows - 处理nmake错误级别/返回码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/316157/

10-13 06:07