在VS2015中发布到azure,消息为';预发布';脚本失败,状态代码为1

在VS2015中发布到azure,消息为';预发布';脚本失败,状态代码为1,azure,asp.net-mvc-5,visual-studio-2015,publish,asp.net-core-1.0,Azure,Asp.net Mvc 5,Visual Studio 2015,Publish,Asp.net Core 1.0,我获取了一个现有的ASP.NET4/MVC5网站,并手动转换为ASP.NET5/MVC6项目 当我让应用程序在本地完全正常运行时,我试图发布到Azure上以前的web应用程序。为此,我: 已从Azure门户下载发布配置文件 右键单击web项目并选择“发布” 已导入发布配置文件并尝试发布 令人惊讶的是,它第一次奏效了。 但是,在随后的发布尝试中,我收到了错误: 错误:“预发布”脚本失败,状态代码为1 查看发布的输出,我看到以下内容: [13:25:07]“min:ngAppJs”在307毫秒后出错

我获取了一个现有的ASP.NET4/MVC5网站,并手动转换为ASP.NET5/MVC6项目

当我让应用程序在本地完全正常运行时,我试图发布到Azure上以前的web应用程序。为此,我:

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

    2> 由于生成错误,发布失败。有关详细信息,请查看错误列表


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

    我已经为我的angular应用程序创建了一个新的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"]);
    
    将clean任务添加到gulpfile.js解决了这个问题