Visual studio 在visual studio 2015中启动IIS Express会话后,如何运行“吞咽”任务

Visual studio 在visual studio 2015中启动IIS Express会话后,如何运行“吞咽”任务,visual-studio,gulp,asp.net-core,Visual Studio,Gulp,Asp.net Core,我想运行一个gulp任务,该任务必须在我的http服务器在端口55555上联机后启动 因此,我在VisualStudion中通过F5手动启动IIS Express调试 然后我开始我的“观察”任务跑步者 我想让这一步自动化 我将VS 2015 Pro与asp.net core/vnext项目一起使用 吞咽任务('watch',函数(){ })) 在任务运行程序的生成后事件中挂起监视任务没有帮助,因为在生成完成且监视任务运行时,iis express作为最后一个启动:/ 一种解决方案是在完整的IIS

我想运行一个gulp任务,该任务必须在我的http服务器在端口55555上联机后启动

因此,我在VisualStudion中通过F5手动启动IIS Express调试 然后我开始我的“观察”任务跑步者

我想让这一步自动化

我将VS 2015 Pro与asp.net core/vnext项目一起使用

吞咽任务('watch',函数(){

}))

在任务运行程序的生成后事件中挂起监视任务没有帮助,因为在生成完成且监视任务运行时,iis express作为最后一个启动:/


一种解决方案是在完整的IIS上本地运行我的应用程序,因此端口55555始终在线,但IIS express便于开发;-)

Visual Studio内置了使用绑定事件运行grunt-gulp的解决方案

正如您所看到的,我们有构建前、构建后、清理、项目打开

例如,我有Gruntfile.js,它将在构建我的解决方案之后运行

/// <binding AfterBuild='cleanup' />
module.exports = function(grunt) {
  require("jit-grunt")(grunt);
  grunt.initConfig({
    clean: ["./Modules/*"],
    copy: {
      main: {
        expand: true,
        src: [
          "../Modules/**/Views/**",
          "../Modules/**/bin/Debug/**/**/*.*",
          "../Modules/**/wwwroot/**",
          "!../Modules/AwesomeCMSCore.Modules.Frontend/**"
        ],
        dest: "./Modules/"
      },
      css: {
        expand: true,
        cwd: "../Modules/AwesomeCMSCore.Modules.Frontend/wwwroot/dist",
        src: ["cmscore.css"],
        dest: "./wwwroot/dist/"
      },
      js: {
        expand: true,
        cwd: "../Modules/AwesomeCMSCore.Modules.Frontend/wwwroot/dist",
        src: ["*.js"],
        dest: "./wwwroot/dist/"
      },
      static: {
        expand: true,
        cwd: "../Modules/AwesomeCMSCore.Modules.Frontend/wwwroot/dist",
        src: ["**"],
        dest: "./wwwroot/dist/"
      }
    },
    watch: {
      css: {
        files: ["../Modules/**/wwwroot/dist/*.css"],
        tasks: ["copy:css"],
        options: {
          reload: true,
          spawn: false
        }
      },
      js: {
        files: ["../Modules/**/wwwroot/dist/*.js"],
        tasks: ["copy:js"],
        options: {
          reload: true,
          spawn: false
        }
      }
    }
  });
  grunt.registerTask("default", ["watch"]);
  grunt.registerTask("cleanup", [
    "clean",
    "copy:main",
    "copy:static"
  ]);
};
//
module.exports=函数(grunt){
要求(“jit grunt”)(grunt);
grunt.initConfig({
清洁:[“/”模块/*“],
副本:{
主要内容:{
是的,
src:[
“./模块/**/视图/**”,
“./Modules/**/bin/Debug/**/**.*”,
“./Modules/**/wwwroot/**”,
“!../Modules/AwesomeCMSCore.Modules.Frontend/**”
],
dest:“/模块/”
},
css:{
是的,
cwd:“../Modules/AwesomeCMSCore.Modules.Frontend/wwwroot/dist”,
src:[“cmscore.css”],
目的地:“./wwwroot/dist/”
},
js:{
是的,
cwd:“../Modules/AwesomeCMSCore.Modules.Frontend/wwwroot/dist”,
src:[“*.js”],
目的地:“./wwwroot/dist/”
},
静态:{
是的,
cwd:“../Modules/AwesomeCMSCore.Modules.Frontend/wwwroot/dist”,
src:[“**”],
目的地:“./wwwroot/dist/”
}
},
观察:{
css:{
文件:[“./Modules/**/wwwroot/dist/*.css”],
任务:[“复制:css”],
选项:{
是的,
产卵:假
}
},
js:{
文件:[“./Modules/**/wwwroot/dist/*.js”],
任务:[“复制:js”],
选项:{
是的,
产卵:假
}
}
}
});
registerTask(“default”[“watch”]);
grunt.registerTask(“清理”[
“干净”,
“副本:主”,
“复制:静态”
]);
};

您有没有找到解决方案?
/// <binding AfterBuild='cleanup' />
module.exports = function(grunt) {
  require("jit-grunt")(grunt);
  grunt.initConfig({
    clean: ["./Modules/*"],
    copy: {
      main: {
        expand: true,
        src: [
          "../Modules/**/Views/**",
          "../Modules/**/bin/Debug/**/**/*.*",
          "../Modules/**/wwwroot/**",
          "!../Modules/AwesomeCMSCore.Modules.Frontend/**"
        ],
        dest: "./Modules/"
      },
      css: {
        expand: true,
        cwd: "../Modules/AwesomeCMSCore.Modules.Frontend/wwwroot/dist",
        src: ["cmscore.css"],
        dest: "./wwwroot/dist/"
      },
      js: {
        expand: true,
        cwd: "../Modules/AwesomeCMSCore.Modules.Frontend/wwwroot/dist",
        src: ["*.js"],
        dest: "./wwwroot/dist/"
      },
      static: {
        expand: true,
        cwd: "../Modules/AwesomeCMSCore.Modules.Frontend/wwwroot/dist",
        src: ["**"],
        dest: "./wwwroot/dist/"
      }
    },
    watch: {
      css: {
        files: ["../Modules/**/wwwroot/dist/*.css"],
        tasks: ["copy:css"],
        options: {
          reload: true,
          spawn: false
        }
      },
      js: {
        files: ["../Modules/**/wwwroot/dist/*.js"],
        tasks: ["copy:js"],
        options: {
          reload: true,
          spawn: false
        }
      }
    }
  });
  grunt.registerTask("default", ["watch"]);
  grunt.registerTask("cleanup", [
    "clean",
    "copy:main",
    "copy:static"
  ]);
};