web-dev-qa-db-ja.com

ASP.NET 5アプリケーションの起動中にエラーが発生しました

ASP.NET Webアプリを公開した後、ローカルサーバーでWebサイトをホストしようとしています。ただし、起動すると、ブラウザで次のエラーが表示されます。

おっとっと。 500内部サーバーエラーアプリケーションの起動中にエラーが発生しました。

このエラーの内容をデバッグするにはどうすればよいですか? Visual StudioでIISExpressと "web"の使用を開始すると、Webサイトは機能します(デバッグ構成とリリース構成の両方)。

開発環境を使用していますが、app.UseDeveloperExceptionPage();を既に指定しています。

here の指示に従ってIISに展開しました。

また、提示された提案を試しました here (「公開する前にすべての既存ファイルを削除する」を選択して再公開します)。 (OPには若干異なるエラーがあるため、新しい質問を投稿しています。)

私はインターネット上で何時間も探しましたが、それについて多くのコンテンツはないようです。何か案は?

ASP.NET 5 RC1を使用して、Windows 7を使用しています。

20
painiyff

発生している実際のエラーを確認するには、web.configファイルにstdoutLogEnabled=trueを設定する必要があります。 stdoutLogFile引数を使用して、これらのファイルが書き込まれる場所を指示できます。以下のスクリーンショットの例は、stdoutLogFile=".\logs\stdout"に書き込みます。 (ディレクトリが存在することを確認する必要があります;アプリはそれを作成しません)

適切な設定ファイルが見つからないという点については、デフォルトの環境は実稼働です。プロジェクトプロパティでVisual Studioで明示的に開発に設定されます。

UpdateAspNetCore RTMでは、モジュールはシステム下でaspnetCoreと呼ばれます。 web.configのwebServerノード。また、@ ErikEがコメントで指摘したように、web.configは以前のリリースのようにwwwrootの下ではなく、プロジェクトのルートに配置されました。

enter image description here

35
Muqeet Khan

このエラーは、スタートアップからデータベース接続を試行している場合(シードなど)にも発生し、データベースサーバーでの不十分な前悪行為のためにデプロイメントサーバーで失敗します。

8
Andre

このエラーはいくつかの条件下で発生します。私の状況では、データベース接続文字列が正しく設定されていませんでした。 Visual Studio 2017で次のように修正しました。

1)プロジェクトを右クリックして「公開」を選択し、メインエリアで「公開」ページを開きます。

2)左側の[公開]タブを選択します

3)[概要]セクションには、[設定...]リンクがあります。クリックして。これにより、公開ダイアログが開きます。

4)左側の[設定]タブをクリックします。

5)[ファイルの公開オプション]を展開し、[宛先の追加ファイルを削除する]をオンにします

6)[データベース]を展開し、[実行時にこの接続文字列を使用する]をオンにします(これは、発行オプションを最初に設定した方法に基づいてAzure SQL接続文字列が事前に入力されていました)

7)Entity Framework Migrationsを展開し、「発行時にこの移行を適用する」をチェックします(繰り返しますが、接続文字列は事前に入力されています)

8)[保存]をクリックします

9)公開

10)指を交差させる

2
Bob Tabor

問題:このエラーは、おそらくApplication Pool Identities。調べるには:

ウィンドウに移動タスクマネージャおよび詳細タブ/プロセス(Windows OSに依存)w3wp.exeおよびUser nameアプリケーションを探します(<App_Pool_Name>通常DefaultAppPool)として実行されますIIS Worker Process。アプリがそこにリストされていない場合、アプリにはデータベースに対する十分な権限がありません。

修正するには以下を実行し、アプリへのフルアクセスを許可します。

SQL Server Management Studioに移動し、管理者としてログインセキュリティ> ログイン>ログインを右クリックして、 New Login

一般:の下

  • にとって Login Name:EnterIIS APPPOOL\<App_Pool_Name>通常DefaultAppPool

  • にとって Default Database: 指し示す <Your_App_Database>

ユーザーマッピングの下:

  • ボックスUsers mapped to this login:

    -チェックボックスにマップする<Your_App_Database>

    -ユーザーの下EnterIIS APPPOOL\<App_Pool_Name>通常DefaultAppPool

    -デフォルトスキーマの下Enterdbo

  • ボックスDatabase role membership for:<Your_App_Database>

    -次のボックスにチェックdb_datareaderdb_datawriter、およびpublic

Click[〜#〜] ok [〜#〜]

次に、アプリにアクセスしてみてください。

0
Jacman