背景
调试 Visual Studio 解决方案时(使用 Debug 菜单的 F5),会创建一个名为 MyApp.vshost.exe
的进程。当你停止调试时(不是等待代码行像 Application.Exit()
进行一样的操作,而是使用 Stop Debug 菜单的 SHIFT+F5),这个进程并不会被杀死。
有时,当您再次开始调试应用程序时,会出现一个错误消息,指示文件已被占用,显然是调试所用的文件:bin\Debug\MyApp.vshost.exe
。
因此,我在生成事件中添加了这条命令行: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.
我找到的唯一解决方案是删除构建事件。
问题
有没有一种方法可以在不删除构建事件的情况下解决错误消息?
编辑
我认为最好的解决方案是检索命令的返回代码(errorlevel
),然后如果它等于128,则返回0。是否可以在项目的构建事件中执行此操作?