1

我采用了现有的 ASP.NET 4/MVC 5 网站并手动转换为 ASP.NET 5/MVC 6 项目。

当我在本地获得应用程序的全部功能时,我尝试将其发布到 Azure 上以前的 Web 应用程序。为此,我:

  1. 从 Azure 门户下载发布配置文件。
  2. 右键单击 Web 项目并选择“发布”。
  3. 导入发布配置文件并尝试发布。

令人惊讶的是,它第一次就奏效了。但是在随后的发布尝试中,我收到了错误:

错误:“预发布”脚本失败,状态码为 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' C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5):错误:' prepublish' 脚本失败,状态码为 1。

2>由于构建错误,发布失败。检查错误列表以获取更多详细信息。

4

1 回答 1

1

我最终发现,如果我删除输出文件 (ngApp.min.js),发布会成功,但在下一次发布时会再次失败。

我为我的 Angular 应用程序创建了一个新的最小任务

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"]);

将 clean 任务添加到 gulpfile.js 解决了这个问题。

于 2016-03-02T22:04:26.457 回答