.NET Core 3.0 和 IIS:HTTP 错误 500.30 - ANCM 进程内启动失败:无法加载 coreclr
.NET Core 3.0 and IIS: HTTP Error 500.30 - ANCM In-Process Start Failure: failed to load 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 个字符。如果您希望看到一些具体的内容,请告诉我,我会尽量提供相关的片段。感谢您提供的任何建议!
我将 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">
还有宾果游戏!应用程序 运行 符合预期。
谁能解释为什么?
您可以通过项目设置OutOfProcess-->右键单击-->属性-->调试-->宿主模型
我必须在项目属性中设置它,否则它只会不断重置我的 web.config 更改
我遇到了同样的问题,在花了一些时间寻找根本原因和可能的解决方案后,我了解到当同一台机器上 有许多应用程序池 时会发生这种情况,这就是我的情况。
Microsoft 建议错开多个应用程序的启动过程。另一个解决方案是增加启动限制。
关于 hostProcess 从 Inbound 到 Outbound 的更改,这可能有效,但不会使用 IS HTTP Server,但是 Kestrel 网络服务器 用于处理请求。
在这里您可以找到更多信息:
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
我的应用程序在我的开发工作站上的 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">
还有宾果游戏!应用程序 运行 符合预期。
谁能解释为什么?
您可以通过项目设置OutOfProcess-->右键单击-->属性-->调试-->宿主模型
我必须在项目属性中设置它,否则它只会不断重置我的 web.config 更改
我遇到了同样的问题,在花了一些时间寻找根本原因和可能的解决方案后,我了解到当同一台机器上 有许多应用程序池 时会发生这种情况,这就是我的情况。
Microsoft 建议错开多个应用程序的启动过程。另一个解决方案是增加启动限制。
关于 hostProcess 从 Inbound 到 Outbound 的更改,这可能有效,但不会使用 IS HTTP Server,但是 Kestrel 网络服务器 用于处理请求。
在这里您可以找到更多信息: 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