由于aspnetcore.dll无法加载,IIS 10应用程序池保持停止状态

时间:2018-05-09 02:53:56

标签: iis asp.net-core

我在IIS 10上本地托管了一个asp.net核心2.0。由于某些原因,DefaultAppPool在我点击托管网站时就会一直停止。 我收到HTTP错误503.该服务不可用。

在事件日志中,我看到以下错误;

  

模块DLL C:\ WINDOWS \ system32 \ inetsrv \ aspnetcore.dll失败   加载。数据是错误。

当我检查路径C:\WINDOWS\system32\inetsrv\时,我看不到aspnetcore.dll存在。应该在那吗?如果是,.net核心安装exe不应该复制吗?

以下是一些信息;

core installed

IIS App Pool

Event Logs

intesrv

我尝试了什么,但没有用?

  1. Troubleshooting IIS AppPool crashes
  2. 卸载.net核心并重新安装。
  3. 将应用程序池标识更改为网络服务等。
  4. 知道如何解决这个问题吗?

4 个答案:

答案 0 :(得分:2)

对于在IIS中托管.Net Core应用程序,.Net CLR版本的应用程序池应为No Managed Code,如下面的屏幕截图所示。如果你没有看到" No Managed Code"在下拉列表中的选项,然后您需要安装.Net Core Hosting Bundle。 enter image description here

答案 1 :(得分:1)

答案 2 :(得分:0)

我在Windows Server 2012 R2中也遇到了这个问题

我找到了这个答案:  ASP.NET Core/.NET Core: Runtime & Hosting Bundle (latest versions) depends on Microsoft Visual C++ 2015 Redistributable

  1. 下载并安装KB2919442
  2. 运行Windows Update,它将下载并安装KB2919335。或者,手动下载并安装KB2919335
  3. 安装Visual Studio 2015 C ++可再发行组件

答案 3 :(得分:0)

我有一次遇到这个问题。原因是服务器操作系统基于x64,安装程序的目标运行时间为win-x86。在发布向导中,win-x86是目标运行时的默认选项。理论上,x86应用程序应在x64中运行。但是在部署win-x64之后,问题解决了。