visual-studio - 如果 Task Runner Explorer 任务失败,则取消构建

标签 visual-studio gulp task-runner-explorer

我正在使用 Visual Studio 任务运行器 (2015) 运行绑定(bind)到构建之前的 Gulp 任务。

我已对其进行了设置,以便当 gulp 任务失败时,它会发送退出代码 1,并在最后显示“进程以代码 1 终止”。但是构建仍在继续。

这将取消团队城市中的构建,因此似乎与 Visual Studio 中的 Task Runner 相关联的问题。

如果以 0 以外的代码退出,如何防止构建发生?

最佳答案

我在上面实现了 davidmdem 的解决方案,它很棒......在我的系统上。我有 gulp全局安装,但我的一位同事没有,所以预构建事件会失败。从 Task Runner Explorer 运行 gulp 使用 项目级 gulp 安装,但从预构建脚本运行 gulp 使用 全局 gulp 安装。

为了防止新开发人员没有安装 gulp 的情况,我将 davidmdem 的预构建脚本扩展为以下内容: (gulp --version || npm install -g gulp@3.9.0) & gulp -b $(ProjectDir) --gulpfile $(ProjectDir)gulpfile.js my-task
此命令仅在尚未安装时安装 gulp(版本 3.9.0 以匹配项目级 gulp 安装)。现在 gulp 不是您在构建项目之前必须考虑的事情!

(更新:)

解决此问题的另一种方法(在我看来:更好)是使用 npm作为中介。从上面的例子继续修改,我有一个 gulp 任务 my-task这是从命令行调用的。这删除了全局 gulp 依赖项,如果 gulp 失败,仍然可以正确停止 msbuild。

预构建事件:

npm run build

包.json:

"scripts": {
  "build": "gulp min"
}

关于visual-studio - 如果 Task Runner Explorer 任务失败,则取消构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33759446/

相关文章:

c# - 使用C#从网页获取链接

visual-studio - Visual Studio 扩展未加载

javascript - 当明确定义时,jshint 在 gulp 任务中抛出 TypeError

angularjs - 我们可以从 Visual Studio 任务运行器资源管理器运行 npm start

gulp - 无论如何将 gulp 任务绑定(bind)到 Visual Studio 2017 构建按钮?

git - 使用 GIT 的一个解决方案中的 Visual Studio 2012 中的多个项目

c++ - 代码在尝试打开 QDialog 时卡住

angularjs - 无法加载模板问题

sass - 使用 Gulp 更改后浏览器同步不刷新页面

node.js - Visual Studio 2017,任务运行程序资源管理器未加载模块