Visual Studio 2010中预构建步骤中的吞咽错误

And*_*rey 30 visual-studio-2010 prebuild visual-studio pre-build-event

我的解决方案有一堆项目,其中一个是Windows服务; 我有一个预建步骤来停止服务和一个postbuild步骤重新启动它(这样,当VS正在构建/覆盖它时,windows service exe不会被锁定).

on pre-build: 
net stop myservice

on post-build:
net start myservice
Run Code Online (Sandbox Code Playgroud)

如果在我启动构建时服务未运行,则net stop命令将失败并阻止构建继续进行.

即使预构建步骤失败,我还能做什么来强制构建?

And*_*rey 56

我想通了 - 你只需要在最后添加以下语句:

SET ERRORLEVEL = 0
Run Code Online (Sandbox Code Playgroud)

或者干脆:

EXIT 0
Run Code Online (Sandbox Code Playgroud)


Tho*_* F. 27

我知道这是一个老帖子,但我最近也有这个问题.我想杀死我正在构建的进程,如果它当前正在运行,并发现我可以这样做:

taskkill /f /im $(TargetName).exe 2>nul 1>nul
Exit 0

2>nul 1>nul没有Exit 0,反之亦然,似乎没有用.我必须做两件事.

另外值得注意的是使用Visual Studio Express 2012.

在本博客中查看此问题时,我找到了解决方案

2> nul 1> nul将从命令中吞下stderr和stdout.EXIT 0将确保构建事件返回0.


Dmi*_*rov 6

不需要重定向标准输出,只需标准错误。此外,set errorlevel如果您需要,允许您稍后有额外的线路。退出将立即终止。

taskkill /f /im:$(TargetFileName) 2>nul &set errorlevel=0

适用于 VS 2017。