如何解决错误“ ANCM进程内处理程序加载失败”?

Mar*_*ark 3 iis asp.net-core asp.net-core-2.2

我正在Windows Server 2016 Standard上的IIS中设置第一个站点。这是一个NET Core 2.2应用程序。我无法显示该网站。

我收到此错误:

HTTP Error 500.0 - ANCM In-Process Handler Load Failure
Run Code Online (Sandbox Code Playgroud)

我可以更改些什么来清除此错误并显示我的网站?

我的申请是dll。

我通过命令提示符在服务器上测试了我的应用程序

dotnet ./MyApp.dll
Run Code Online (Sandbox Code Playgroud)

它显示在浏览器中,但仅显示在服务器本身上,并带有(localhost:5001/)。

使用此方法无法从任何其他服务器访问该站点。当我通过IIS设置站点时,在服务器上以及尝试访问该站点的服务器上都出现了In-Process错误。起初,我收到进程外错误。我读到的东西说要将此内容添加(hostingModel =“ inprocess”),web.config 这样我就可以了,但是现在我收到了In-Process错误。

我已经研究了3天,但我尝试过的所有方法都无法解决。

当安装在我的开发服务器上时,该站点工作正常。

事件查看器针对“ IIS AspNetCore模块V2”显示此错误:

  Failed to start application '/LM/W3SVC/2/ROOT', ErrorCode '0x8000ffff'.
Run Code Online (Sandbox Code Playgroud)

这是我的web.config:

HTTP Error 500.0 - ANCM In-Process Handler Load Failure
Run Code Online (Sandbox Code Playgroud)

小智 16

打开 .csproj 文件,在 Project > PropertyGroup > AspNetCoreHostingModel 下,将值“InProcess”更改为“OutOfProcess”。

<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
Run Code Online (Sandbox Code Playgroud)

  • 当我从 2.2 核心切换到 3.1 核心时,它对我来说工作得很好 (5认同)

use*_*293 9

我有同样的错误。

根据 Microsoft ( https://dotnet.microsoft.com/download/dotnet-core/current/runtime ),我们应该在我们的托管服务器中安装“ ASP.NET Core Hosting Bundle ”。

' ASP.NET Core Hosting Bundle 包括 .NET Core 运行时和 ASP.NET Core 运行时。如果安装在带有 IIS 的机器上,它还会添加 ASP.NET Core IIS Module '

在我这样做之后,“ AspNetCoreModuleV2 ”安装在我的服务器上并且一切正常。它不需要更改您的“ web.config ”文件。


cod*_*ror 8

有时这是因为多个应用程序可能使用同一个应用程序池

在这种情况下,第一个应用程序将起作用,而其他应用程序将不起作用

解决方案是为每个应用程序创建新的应用程序池。

  • 你抓住了实际的问题。 (2认同)

Ari*_*rif 7

我在.Net core 2.2中遇到了同样的问题。当我更换

web.config:

<handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" /> </handlers>
to
<handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> </handlers>
Run Code Online (Sandbox Code Playgroud)

然后就可以了 更多细节在这里

  • 谢谢@Arif,遇到了同样的问题,这个解决方案非常有效。这个答案应该被认为是一个可接受的答案。无论如何+1评级。 (3认同)
  • 但是每当我发布它时都会出现一个问题,它每次都会更改 web webconfig 文件。 (3认同)
  • 注意:在上面的“更多详细信息”链接中,有一个关于如何将其设置回进程外的回复。这是模糊的,并且可能不是所期望的。https://github.com/dotnet/aspnetcore/issues/6111#issuecomment-451294361 (2认同)
  • 有什么想法什么是 AspNetCoreModuleV2 与 AspNetCoreModule? (2认同)
  • 我确实刚刚从微软获得了最新的信息,但这仍然是一个问题。此解决方案解决了该问题。 (2认同)
  • 这适用于在 Windows Server 2008 中托管 .NET 5 应用程序 (2认同)

Ale*_*per 7

For more info, in web.config, set

stdoutLogEnabled="true"
Run Code Online (Sandbox Code Playgroud)

然后检查日志文件夹。就我而言,它与项目、发布或托管设置无关 - 这是我的错误,没有复制我的应用程序必需的文件。错误只是“找不到文件“D:\Development\IIS Hosting Test\filename.ext”