【问题标题】:Publish to azure in VS2015 with message: The 'prepublish' script failed with status code 1在 VS2015 中发布到 azure 并显示消息:“预发布”脚本失败,状态码为 1
【发布时间】:2016-03-02 22:04:26
【问题描述】:

我将现有的 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):错误:“预发布”脚本失败,状态码为 1。

2>由于构建错误,发布失败。查看错误列表了解更多详情。

【问题讨论】:

    标签: azure asp.net-mvc-5 visual-studio-2015 publish asp.net-core-1.0


    【解决方案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 解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-18
      相关资源
      最近更新 更多