Dot-Net-Core

.NET Core 3.0 和 IIS:HTTP 錯誤 500.30 - ANCM 程序內啟動失敗:載入 coreclr 失敗

  • March 6, 2021

我的應用程序在我的開發工作站上的 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:\ 驅動器!)

失敗的請求跟踪

抱歉,我無法提供完整的跟踪 XML,因為它超過了 100,000 個字元。如果您想查看特定內容,請告訴我,我將嘗試提供相關的程式碼段。感謝您提供的任何建議!

我更改了 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">

和賓果遊戲!應用程序按預期執行。

誰能解釋為什麼?

引用自:https://stackoverflow.com/questions/59369322