解决"命令"taskkill/F/IM MyApp.vshost.exe"退出代码128"错误

Oti*_*iel 9 command-line build visual-studio-2010 visual-studio

上下文
在调试(使用" 调试"菜单F5)Visual Studio解决方案时,MyApp.vshost.exe会创建一个调用的进程.当你不雅地停止调试时- 我的意思是使用Stop Debug菜单SHIFT+ F5而不是等待Application.Exit()发生的代码行- 这个过程不会被杀死.

有时,当您稍后再次开始调试应用程序时,会出现一条错误消息,指出该文件(显然,它是调试使用的文件:) bin\Debug\MyApp.vshost.exe已经在使用中.

这就是我在Build命令行中添加以下命令的原因: taskkill /F /IM MyApp.vshost.exe

问题
MyApp.vshost.exe进程不存在时,Visual Studio有时会在构建时抛出错误,从而阻止构建应用程序:

Error c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets
The command "taskkill /F /IM MyApp.vshost.exe" exited with code 128.
Run Code Online (Sandbox Code Playgroud)

我找到的唯一现有解决方案是删除构建事件.

问题
有没有办法解决错误消息而不删除构建事件?

编辑

我认为最好的解决方案是检索errorlevel命令的返回码(),如果它等于128则返回0.是否可以在项目的构建事件中执行此操作?

Oti*_*iel 15

taskkill /F /IM MyApp.vshost.exe 2>&1 || exit /B 0
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用,除了我有问题,直到我删除双管,并使它成为一个管``||`到`|` (6认同)