首页 > 解决方案 > .NET Core 3.0 和 IIS:HTTP 错误 500.30 - ANCM 进程内启动失败:加载 coreclr 失败

问题描述

我的应用程序在我的开发工作站上的 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 个字符。如果您想查看特定内容,请告诉我,我将尝试提供相关的代码段。感谢您提供的任何建议!

标签: .net-coreiis-8.net-core-3.0

解决方案


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

和宾果游戏!应用程序按预期运行。

谁能解释为什么?


推荐阅读