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