.NET Core 3.0和IIS:HTTP错误500.30-ANCM进程内启动失败:无法加载coreclr

时间:2019-12-17 07:20:09

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

我的应用程序在开发工作站上的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

据我所知,从命令行调用时,应用程序运行良好:

Running from Command Line

这是我在失败的请求跟踪中看到的内容((为什么文件被标识为F:...,这台机器上的Tehre不是F:\驱动器,我有点困惑!)

Failed Request Trace

对不起,我无法提供完整的跟踪XML,因为它超过100,000个字符。如果您想了解一些特定的信息,请让我知道,我将尝试提供相关的摘要。感谢您提供的任何建议!

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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

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

关于将hostProcess从入站更改为出站,这可能有效,但不会使用IS HTTP服务器,但Kestrel Web服务器< /strong> 用于处理请求。

您可以在这里找到更多信息: 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

答案 2 :(得分:1)

我更改了Web.config中的规范以使其无法运行。最初,该规范是针对InProcess的,如下所示:

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

我将其更改为OutOfProcess:

$DYLD_LIBRARY_PATH

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

谁能解释为什么?

答案 3 :(得分:1)

我必须在项目属性中进行设置,否则它将一直重置我的web.config更改

Image of project setting to change