ASP.NET CORE托管-错误内部服务器错误处理程序“ aspNetCore”在其模块列表中具有错误的模块“ AspNetCoreModule”

Raj*_*iya 2 hosting nopcommerce internal-server-error asp.net-core nopcommerce-4.0

我正在托管ASP.NET Core 2网站,并收到以下错误消息。

HTTP Error 500.21 - Internal Server Error
Handler "aspNetCore" has a bad module "AspNetCoreModule" in its module list
Run Code Online (Sandbox Code Playgroud)

我的应用程序正在使用nopCommerce 4.00,并且服务器端已经安装了ASP.NET Core组件。

Zak*_*ury 46

关注有关如何将 asp.net 核心应用程序托管到 IIS 的博客后,我遇到了同样的问题。Visual Studio 在发布的输出文件夹中添加了以下 web.config。

在此处输入图片说明

然后我查看了我的 IIS 模块以检查 .NET 核心托管包是否安装正确,我看到了这一点,

在此处输入图片说明

所以我改变了 web.config 中的模块,

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

并且在那之后它没有任何问题。

  • 这对我有用,但每次我从 Visual Studio 发布解决方案时,它都会再次将 web.config 设置回 module="AspNetCoreModule"。由于这只是一个测试项目,因此我更新到了最新版本的 Visual Studio 和 .Net core,删除了整个项目并再次启动,然后它就工作了。 (4认同)
  • 如果您不想每次都手动更改 web.config,则安装旧版本的 IIS 托管捆绑包还会安装“AspNetCoreModule”,该模块可以与 V2 并行安装。我安装了 .Net Core 2.2 IIS 托管捆绑包,它为我完成了这项工作。 (2认同)

Wei*_*Guo 5

我有同样的错误。处理程序是AspNetCoreModule,代码是%SystemRoot%\system32\inetsrv\aspnetcore.dll。将处理程序更改为AspNetCoreModuleV2with code %ProgramFiles%\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll解决了该问题。

在此处输入图片说明

在此处输入图片说明

链接也有帮助。如果链接不起作用:

如果在运行Microsoft Dynamics导航Web服务器组件的计算机上的IIS中未正确安装AspNetCoreModule,则会发生此错误。AspNetCoreModule与Microsoft .NET Core Windows Server Hosting捆绑包一起安装。如果尚未完全安装此错误或安装已以某种方式损坏,则会出现此错误。

若要解决此问题,请在“控制面板”中打开“程序和功能”,然后检查是否已安装Microsoft .NET Core Windows Server Hosting。然后,尝试下列之一:

  • 如果已安装,请从“程序和功能”中进行修复,方法是选择它,选择“更改”,然后选择“修复”。

  • 如果未安装,请下载并安装Microsoft .NET Core-Windows Server Hosting捆绑包。


Ali*_*han 5

我遇到了同样的错误,我通过设置stdoutLogEnabled="true"启用了 web.config 文件中的日志

<aspNetCore processPath=".\site01.exe" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
Run Code Online (Sandbox Code Playgroud)

我发现我缺少Microsoft.AspNetCore.App的正确版本

It was not possible to find any compatible framework version
The framework 'Microsoft.AspNetCore.App', version '2.1.12' was not found.
  - The following frameworks were found:
      3.1.2 at [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
Run Code Online (Sandbox Code Playgroud)

所以我从https://dotnet.microsoft.com/download/dotnet-core/2.1/runtime/?utm_source=getdotnetcore&utm_medium=referral安装了ASP.NET Core 2.1 Runtime (v2.1.16) - Windows Hosting Bundle Installer

我的问题解决了。

  • 这个解决方案使我不必每次从 VS 重新发布时都必须更改 web.config,这是另一条评论中提到的问题。 (2认同)