1. ホーム
  2. .net-core

[解決済み] .NET Core 3.0とIIS:HTTPエラー500.30 - ANCMプロセス内起動の失敗:coreclrの読み込みに失敗しました。

2022-03-01 05:06:45

質問

私のアプリケーションは、開発用ワークステーションの IIS Express 内では正常に動作しますが、IIS にデプロイする際に問題があります。アプリケーションを参照すると、次のエラーが表示されます。

HTTP エラー 500.30 - ANCM インプロセス開始失敗

Windowsイベントログにあまり記録がない。

Application '/LM/W3SVC/2/ROOT' with physical root 'c:\inetpub\cashflow\' failed to load coreclr. Exception message:
Error occured when initializing inprocess application, Return code: 0x80008083

私が見る限り、コマンドラインから起動してもアプリケーションは正常に動作しています。

以下は、失敗したリクエストのトレースです:(なぜファイルがF:と識別されるのか、ちょっと不思議です... このマシンには F:\ ドライブはありません!)

100,000文字を超えるため、完全なトレースXMLを提供することはできませんが、申し訳ありません。もし、あなたが何か特定のものを見たいのであれば、私に知らせてください。あなたが提供することができる任意のアドバイスに感謝します

どのように解決するのですか?

Web.configの仕様を変更して、プロセスアウトで実行するようにしました。元々は以下のようにInProcessの仕様でした。

  <aspNetCore processPath="dotnet" arguments=".\Cashflow.dll" stdoutLogEnabled="false" hostingModel="InProcess" stdoutLogFile=".\logs\stdout">

これをOutOfProcessに変更しました。

  <aspNetCore processPath="dotnet" arguments=".\Cashflow.dll" stdoutLogEnabled="false" hostingModel="OutOfProcess" stdoutLogFile=".\logs\stdout">

とビンゴ! アプリケーションは期待通りに実行されます。

どなたか理由を説明してください。