Visual studio Task Runner Explorer 无法识别 gulp 个任务

Visual studio Task Runner Explorer doesn't recognize gulp tasks

在 visual studio 2017 年,尝试使用 Gulp 将 SASS 编译添加到使用 this 教程的 netcore2 项目中 运行 使用 Task Runner Explorer 遇到麻烦。在我要添加 gulp 的项目上,Task Runner 不显示 any 任务。

如果我尝试将 Gulpfile.js 添加到另一个 netcore 2 项目,无论它是旧的还是新创建的,我都可以看到 bundleconfig.json 中的一些任务和一个空的任务列表Gulpfile.js

在所有这些项目中,我都有一个相同的 gulpfile.js,如下所示:

/*
This file is the main entry point for defining Gulp tasks and using Gulp plugins.
Click here to learn more. https://go.microsoft.com/fwlink/?LinkId=518007
*/
var gulp = require('gulp');
var sass = require('gulp-sass');

var paths = {
    webroot: "./wwwroot/",
    sass: "./wwwroot/scss/",
    css: "./wwwroot/css/"
};

gulp.task('scss', function ()
{
    return gulp.src(paths.sass + '/**/*.scss')
        .pipe(sass().on('error', sass.logError))
        .pipe(gulp.dest(paths.webroot + 'css/'));
});

gulp.task('watch', function ()
{
    gulp.watch(paths.sass + '**/*.scss', ["scss"]);
});

我可以使用 PowerShell 命令行 运行 gulp 作业,它们正确地编译了我的 scss,这意味着 gulpfile.js 是有效的。

根据其他 Stack Overflow questions/answers 我试过:

关于没有 src 的行,我找不到说要尝试这个特定修复的帖子,但我确实试过了。

上面的

None 修复了它。有没有人 运行 解决过这个问题并用上述方法以外的其他方法解决了它?有谁知道为什么会这样以及我做错了什么?

我设法让它工作了。 我不知道具体哪一步解决了我的问题,但我按以下顺序完成了所有操作:

  1. 在本地和全局删除 gulp
  2. 删除 Bundler & Minifier vs 扩展
  3. 删除 npm task runner vs 扩展
  4. 重新启动 VS 2017(确保它考虑到扩展的删除
  5. 在解决方案的根目录下使用唯一的名称创建一个新的 netcore 2.0 应用程序(我的几个项目在不同的文件夹中具有相同的名称)
  6. Copy/paste所有文件从旧项目到新项目
  7. 重启VS 2017
  8. 右键单击 bundleconfig.json --> Bundler & minifier --> Convert to Gulp。这将安装 gulp 并在项目的根目录生成一个 gulpfile.js
  9. 添加需要的 Gulp 任务
  10. 右击 gulpfile.js --> Task runner explorer
  11. 完成

对我来说,修复是 运行 本地 Gulp。

我在全球范围内尝试了 运行,但没用。

启发我做了以下事情 这也很有效

  1. 从解决方案中删除受影响的项目,保存并关闭。
  2. 重新打开解决方案,重新添加 项目到解决方案。
  3. 完成! Gulp 任务现在出现在 VS Test Runner 资源管理器中。