Visual studio 2015 在Visual Studio 2015中发布失败,消息为“发布”;';准备';脚本失败,状态代码为-1073741819。”;

Visual studio 2015 在Visual Studio 2015中发布失败,消息为“发布”;';准备';脚本失败,状态代码为-1073741819。”;,visual-studio-2015,gulp,asp.net-core,publish,dnx,Visual Studio 2015,Gulp,Asp.net Core,Publish,Dnx,发布我的asp.net 5项目时,输出目录保持为空,我收到错误:“准备”脚本失败,状态代码为-1073741819 以下是我的发布设置: 发布目标:“文件系统” 目标位置:“D:\Users\cseedj\Documents\Visual Studio 2015\Publish” 配置:调试 DNX版本:默认(cnx-clr-win-x86.1.0.0-beta4) 以下是完整的输出: Connecting to D:\Users\cseedj\Documents\Visual Studio

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

以下是我的发布设置:

  • 发布目标:“文件系统”
  • 目标位置:“D:\Users\cseedj\Documents\Visual Studio 2015\Publish”
  • 配置:调试
  • DNX版本:默认(cnx-clr-win-x86.1.0.0-beta4)
以下是完整的输出:

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命令并在命令行中执行它时,它工作得很好:我得到了publish文件夹中的文件(实际上,我仍然得到了发布代码的错误500,但这是另一个问题)

我还尝试以管理员身份运行VisualStudio,以确保这不是文件系统权限相关的问题,但这没有帮助

那么为什么“发布”在VS中失败了,我如何才能使它工作呢? 还有一个附属问题,为什么它发布在临时目录中而不是目标位置


版本信息:

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

此信息自beta-8起为最新信息。

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

"scripts": {
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
  }
在本例中,尝试发布时将运行四个命令:
npm install
bower install
gulp clean
gulp min

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

不幸的是,目前可连接到的可用事件的文档很少。我相信从beta-6开始,
prepare
脚本已经被重命名为
prepublish
(参见此Github)。我在beta-8中收到的错误是:

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