【问题标题】:Publish fails in Visual Studio 2015 with message: "The 'prepare' script failed with status code -1073741819."在 Visual Studio 2015 中发布失败并显示消息:“‘准备’脚本失败,状态码为 -1073741819。”
【发布时间】:2015-07-15 07:48:14
【问题描述】:

发布我的 asp.net 5 项目时,输出目录保持为空,我收到错误消息:“'prepare' 脚本失败,状态码为 -1073741819。”

这是我的发布设置:

  • 发布目标:“文件系统”
  • 目标位置:“D:\Users\cseedj\Documents\Visual Studio 2015\Publish”
  • 配置:调试
  • DNX 版本:默认 (cnx-clr-win-x86.1.0.0-beta4)​​li>

这是完整的输出:

Connecting to D:\Users\cseedj\Documents\Visual Studio 2015\Publish...
Environment variables:
Path=D:\Users\cseedj\Documents\Visual Studio 2015\Projects\MvcDebug-Tweaking\src\MvcDebug\.\node_modules\.bin;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\\Extensions\Microsoft\Web Tools\External;%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\\Extensions\Microsoft\Web Tools\External\git
C:\Users\cseedj\.dnx\runtimes\dnx-clr-win-x86.1.0.0-beta4\bin\dnu.cmd publish "D:\Users\cseedj\Documents\Visual Studio 2015\Projects\MvcDebug-Tweaking\src\MvcDebug" --out "C:\Users\cseedj\AppData\Local\Temp\PublishTemp" --configuration Debug --runtime dnx-clr-win-x86.1.0.0-beta4 --wwwroot-out "wwwroot" --quiet
[09:07:41] Using gulpfile D:\Users\cseedj\Documents\Visual Studio 2015\Projects\MvcDebug-Tweaking\src\MvcDebug\gulpfile.js
[09:07:41] Starting 'clean'...
[09:07:41] Finished 'clean' after 650 μs
[09:07:41] Starting 'copy'...
[09:07:41] Finished 'copy' after 17 ms
The 'prepare' script failed with status code -1073741819.

现在,当我复制 dnu 命令并在命令行中执行它时,它可以正常工作:我在发布文件夹中获取文件(实际上我仍然在发布的代码中收到错误 500,但这是另一个问题)。

我也尝试以管理员身份运行 Visual Studio,确保这不是与文件系统权限相关的问题,但这无济于事...

那么为什么“发布”在 VS 中会失败,我怎样才能让它工作呢? 还有一个附属问题,为什么它发布在 Temp 目录而不是 Target 位置?


版本信息:

  • Visual Studio Enterprise 2015 RC,版本 14.0.22823.1 D14REL
  • 我的项目使用 beta4 版本的 asp.net 框架

【问题讨论】:

    标签: visual-studio-2015 gulp asp.net-core publish dnx


    【解决方案1】:

    此信息是 beta-8 的最新信息。

    project.json 文件允许您指定应运行以响应某些打包 (DNX Utility/dnu) 事件的脚本。在 Asp.Net 5 项目的默认 Visual Studio 模板中,project.json 文件指定了在您尝试发布应用程序时应运行的所有脚本:

    "scripts": {
        "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
      }
    

    在此示例中,当您尝试发布时将运行四个命令:npm installbower-installgulp cleangulp min

    在大多数情况下,prepublish 任务失败是由于客户端构建过程中的错误(即 gulpfile.js 中的错误)。就我而言,这是因为我重命名了由 Visual Studio 模板创建的 gulp 任务,而没有更新 project.json 文件。当我尝试发布gulp min 时,执行了命令,但在我的gulpfile.js 中没有找到min 任务,导致错误。有关更多信息,请参阅此 Github issue

    不幸的是,目前可以挂钩的可用事件的记录很差。我相信 prepare 脚本从 beta-6 起已重命名为 prepublish(请参阅此 Github issue)。我从 beta-8 收到的错误是:

    “预发布”脚本失败,状态码为 1。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-21
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多