【问题标题】:IIS 10 App Pool Keeps Stopping due to aspnetcore.dll failed to load由于 aspnetcore.dll 加载失败,IIS 10 应用程序池不断停止
【发布时间】:2018-05-09 02:53:55
【问题描述】:

我在 IIS 10 上本地托管了一个 asp.net core 2.0。由于某种原因,我一访问托管网站,DefaultAppPool 就会停止。 我收到 HTTP 错误 503。该服务不可用。

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

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

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

以下是一些信息;

我尝试了什么,但没有奏效?

  1. Troubleshooting IIS AppPool crashes
  2. 卸载 .net core 并重新安装。
  3. 将应用程序池标识更改为网络服务等。

知道如何解决这个问题吗?

【问题讨论】:

  • 最终为您解决了什么问题?

标签: iis asp.net-core


【解决方案1】:

对于在 IIS 中托管 .Net Core 应用程序,应用程序池的 .Net CLR 版本应为无托管代码,如下面的屏幕截图所示。如果您在下拉列表中没有看到“无托管代码”选项,那么您需要安装 .Net Core Hosting Bundle。

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

      我在 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 更新,它将下载并安装 KB2919335。或者手动下载并安装 KB2919335
      3. 安装 Visual Studio 2015 C++ Redistributable

      【讨论】:

        【解决方案4】:

        我曾经遇到过这个问题。原因是服务器操作系统是 x64 基础,安装程序的目标运行时间是 win-x86。在发布向导中,win-x86 是 Target Run time 的默认选项。理论上 x86 应用程序应该在 x64 中工作。但是在部署 win-x64 后,问题解决了。

        【讨论】:

          猜你喜欢
          • 2014-11-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-06-16
          • 2018-09-15
          • 2011-03-10
          • 2010-10-31
          • 2017-03-14
          相关资源
          最近更新 更多