Visual Studio预生成事件:批处理文件退出代码为-1



为了解决IIS Express Blocks VS 2010SP1 Builds的问题,我创建了一个简单的批处理文件

taskkill /IM iisexpress.exe
exit 0

并将该批处理文件设置为预构建事件。

如果IIS Express真的在运行,它会非常有效。但是,如果IIS Express是而不是,则运行构建将失败,并显示以下输出:

找不到进程"iisexpress.exe"
命令"E:\Software\Util\KillIisExpress.bat"退出,代码为-1。

如果我使用taskkill命令而不是批处理文件作为预构建事件,则错误将更改为

命令"taskkill/IM iisexpress.exe"已退出,代码为128。

如何修改批处理文件,以便无论taskkill返回什么退出代码,批处理文件都返回退出代码为0,从而VS构建成功?

您可以使用

taskkill /FI "IMAGENAME eq iisexpress.exe"

如果iisexpress.exe没有运行,它将输出一条信息消息,但会返回0。您不需要批处理文件,只需将该命令添加为预生成事件命令行即可。

最新更新