我使用现有的ASP.NET 4 / MVC 5网站并手动转换为ASP.NET 5 / MVC 6项目。
当我在本地获得完全功能的应用程序时,我试图在Azure上发布到以前的Web应用程序。要做到这一点我:
令人惊讶的是,它第一次有效。 但是在随后的发布尝试中,我收到了错误:
错误:'预先发布'脚本失败,状态码为1。
查看发布的输出我看到以下内容:
[13:25:07]' min:ngAppJs' 307毫秒后出错了 [13:25:07]错误:EPERM,打开' C:\ SCM \ Holos Portal 1.0(ASP.Net 5,MVC6)\ HolosPortal \ src \ HolosPortal \ wwwroot \ ngApp \ ngApp.min.js&#39 ; C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ Web \ Microsoft.DNX.Publishing.targets(152,5):错误:' preublish'脚本失败,状态码为1
2>由于构建错误,发布失败。查看错误列表以获取更多详细信息。
答案 0 :(得分:1)
我最终发现如果删除输出文件(ngApp.min.js),发布会成功,但在下次发布时会再次失败。
我为我的角应用创建了一个新的min任务
gulp.task("min:ngAppJs", function () {
return gulp.src([paths.ngAppJs, "!" + paths.ngAppMinJs], { base: "." })
.pipe(concat(paths.concatNgAppJsDest))
.pipe(uglify())
.pipe(gulp.dest("."));
});
但我忽略了创建清理任务以删除输出文件
gulp.task("clean:ngAppJs", function (cb) {
rimraf(paths.concatNgAppJsDest, cb);
});
gulp.task("clean", ["clean:js", "clean:ngAppJs", "clean:css"]);
将清理任务添加到gulpfile.js解决了这个问题。