【问题标题】:Visual Studio Pre-Build Event: Batch File Exit Code is -1Visual Studio 预构建事件:批处理文件退出代码为 -1
【发布时间】:2012-07-17 01:32:28
【问题描述】:

为了解决问题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而不是使用call taskkill并且没有运行iisexpress.exe,taskkill会直接退出非零,总是绕过你的exit 0

标签: visual-studio-2010 command-line batch-file exit-code


【解决方案1】:

你可以使用

taskkill /FI "IMAGENAME eq iisexpress.exe"

如果 iisexpress.exe 没有运行,它将输出一条信息消息,但将返回 0。您不需要带有此的批处理文件,只需将该命令添加为 Pre-Build Event 命令行。

【讨论】:

    猜你喜欢
    • 2011-06-01
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    • 2017-11-11
    • 1970-01-01
    • 2020-11-17
    相关资源
    最近更新 更多