为了解决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。您不需要批处理文件,只需将该命令添加为预生成事件命令行即可。