7

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 コマンドをコピーしてコマンド ラインで実行すると、問題なく動作します。パブリッシュ フォルダーにファイルを取得します (実際には、パブリッシュされたコードでエラー 500 が発生しますが、それは別の問題です)。

また、管理者としてVisual Studioを実行しようとしましたが、ファイルシステムの権利に関連する問題ではないことを確認しましたが、それは役に立ちません...

では、VS で「発行」が失敗するのはなぜですか。どうすれば機能させることができますか? また、副次的な質問ですが、ターゲットの場所ではなく一時ディレクトリに公開されるのはなぜですか?


バージョン情報:

  • Visual Studio エンタープライズ 2015 RC、バージョン 14.0.22823.1 D14REL
  • 私のプロジェクトでは、asp.net フレームワークの beta4 バージョンを使用しています
4

1 に答える 1

16

この情報は、ベータ 8 の時点で最新のものです。

このファイルを使用すると、特定のパッケージ化 (DNX Utility/ ) イベントproject.jsonに応答して実行するスクリプトを指定できます。dnuAsp.Net 5 プロジェクトの既定の Visual Studio テンプレートでは、project.jsonファイルは、アプリを公開しようとしたときに実行する必要があるスクリプトを指定します。

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

npm installこの例では、公開しようとすると、 、bower-installgulp cleanおよびの 4 つのコマンドが実行されますgulp min

ほとんどの場合、prepublishタスクが失敗するのは、クライアント側のビルド プロセス (つまり、gulpfile.js) のエラーが原因です。私の場合は、project.jsonファイルを更新せずに、Visual Studio テンプレートによって作成された gulp タスクの名前を変更したためです。コマンドを発行しようとしたときにgulp min、コマンドが実行されminましたが、自分の にタスクが見つからずgulpfile.js、エラーが発生しました。詳細については、この Githubの問題を参照してください。

残念ながら、フックできる利用可能なイベントは、現時点では十分に文書化されていません。prepareスクリプトの名前は beta-6 以降に変更されたと思いますprepublish(この Github issueを参照)。beta-8 の時点で受け取ったエラーは次のとおりです。

「prepublish」スクリプトはステータス コード 1 で失敗しました。

于 2015-10-30T02:01:17.183 に答える