【问题标题】:.NET Core 3.0 and IIS: HTTP Error 500.30 - ANCM In-Process Start Failure: failed to load coreclr.NET Core 3.0 和 IIS:HTTP 错误 500.30 - ANCM 进程内启动失败:加载 coreclr 失败
【发布时间】:2020-04-09 15:59:10
【问题描述】:

我的应用程序在我的开发工作站上的 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 个字符。如果您有什么特别想看的,请告诉我,我会尽力提供相关的 sn-p。感谢您提供的任何建议!

【问题讨论】:

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


【解决方案1】:

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

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

谁能解释一下原因?

【解决方案2】:

你可以通过Project-->右键-->Properties-->Debug-->Hosting Model设置OutOfProcess

【讨论】:

    【解决方案3】:

    我也遇到过同样的问题,在花了一段时间寻找根本原因和可能的解决方案后,我了解到当同一台机器上有许多应用程序池时会发生这种情况,这就是我的情况.

    Microsoft 建议错开多个应用的​​启动过程。另一种解决方案是增加启动限制。

    关于hostProcess从Inbound到Outbound的变化,这可能有效,但不会使用IS HTTP Server,而是Kestrel web server 用于处理请求。

    在这里您可以找到更多信息: Troubleshoot ASP.NET Core on Azure App Service and IIS | Microsoft Docs

    What is the Difference between Inprocess and OutOfprocess service in asp.net core | Tutorials Helper

    【讨论】:

      【解决方案4】:

      我必须在项目属性中设置它,否则它只会不断重置我的 web.config 更改

      【讨论】:

        猜你喜欢
        • 2019-08-25
        • 2020-09-12
        • 2020-02-14
        • 2019-05-17
        • 2020-08-23
        • 1970-01-01
        • 2019-06-12
        • 2020-10-11
        • 1970-01-01
        相关资源
        最近更新 更多