HTTP错误502.5 - ANCM进程外启动失败
这个问题通常出现在使用ASP.NET Core模块以in-process模式在IIS中托管dotnet core应用程序时。在我的情况下,dotnet core Runtime和aspnet core模块之间存在冲突。首先检查dotnet core Runtime版本是否与安装在IIS上的Hosting Bundle版本相同。运行命令:
dotnet --info
在输出中查找已安装的.NET Core运行时部分。这应该与您已安装的Hosting Bundle相同。否则,请尝试安装相同的.NET Core运行时。
此外,其他情况在这个(HTTP Error 502.5 - ANCM Out-Of-Process Startup Failure after upgrading to ASP.NET Core 2.2)中有列出。
我假设您知道如何在IIS中为dotnet core应用程序选择托管模型。请参阅此文档(https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2)。
根据这个类似问题中的答案,"HTTP Error 502.5 - ANCM Out-Of-Process Startup Failure"可能是由许多在应用程序由启动类配置之前发生的不同问题引起的。因此,这些问题很难捕获和记录。
在我的情况下,这是一个权限问题。你可以进行一个快速测试,将应用程序文件夹的读/写/执行权限授予用户"EVERYONE"(确保在测试后删除这个权限!)。如果这样可以工作,那就意味着你需要使用这些指令授予IIS应用程序池访问权限。
另一个常见问题是,你的应用程序使用的aspnet core版本的运行时在该服务器上没有安装。尝试安装运行时主机捆绑包https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-aspnetcore-2.2.6-windows-hosting-bundle-installer。
HTTP错误502.5 - ANCM Out-Of-Process启动失败
当在IIS上部署一个.NET Core 2.1解决方案时,我遇到了这个错误。在使用主机捆绑版本2.2.5并重新启动后,网站开始正常工作。
要验证是否已添加dll,请使用命令提示符:
dotnet --list-runtimes
解决方法是下载并安装.NET Core Runtime 2.2.5 Windows主机捆绑程序。可以从以下链接下载:
https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-aspnetcore-2.2.5-windows-hosting-bundle-installer
下面是一个截图,显示了运行时是否已成功添加:
![enter image description here](https://i.stack.imgur.com/jA54G.png)