【问题标题】:The ASPNETCoreModule which is required to host .NET Core projects in IIS does not appear to be installed似乎未安装在 IIS 中托管 .NET Core 项目所需的 ASPNETCoreModule
【发布时间】:2017-04-19 14:38:25
【问题描述】:

我刚刚安装了Visual Studio 2015 并且刚刚创建了新的ASP.NET Core Web Application 项目。当我运行ASP.NET Core Web application 项目时,我遇到了以下异常(我只是点击Ctrl+F5 在Visual Studio 2015 中运行该项目):

托管 .NET Core 项目所需的 ASPNETCoreModule 似乎没有安装 IIS。尝试将 Visual Studio 修复为 纠正问题。

如果我运行其他类型的项目,例如 ASP.NET MVCASP.NET Web API,那么它们可以完美运行。

已安装以下 SDK:

我的project.json 文件:

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.1",
      "type": "platform"
    },
    "Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.1",
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.AspNetCore.Routing": "1.0.1",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0"
  },

  "tools": {
    "BundlerMinifier.Core": "2.0.238",
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },

我尝试做的事情:

  1. 我已将version 属性更改为1.0.0-preview2-final1.0.11.0.3

    "Microsoft.NETCore.App": { "version": "1.0.3",//1. "type": "platform" },

  2. 我已经安装了DotNetCore.1.0.4_1.1.1-WindowsHosting

  1. 我已修复 Visual Studio 2015 Professional 两次。

有人知道我应该怎么做才能解决这个问题吗? 任何帮助将不胜感激

【问题讨论】:

  • 你试图在 IIS 中运行它?
  • @Tseng 我只是按 Ctrl+F5 来运行项目
  • 您真的使用的是 ASP.NET Core 1.0 而不是 1.1(请参阅 project.json 的依赖项部分)? Microsoft.NETCore.App 是大多数运行时相关库(通常是最常见的System.* 程序集)的元包,并告诉使用哪个版本的运行时。如果您使用 ASP.NET Core 1.1,您还需要 .NET Core 1.1.x 运行时(1.1.0 或 1.1.1 iirc)
  • 我已将我的package.json 文件附加到问题中以避免误解。提前致谢。
  • 我遇到了同样的问题并在我的项目中进行了简单的更改。 1]转到项目属性并单击调试选项卡。 2]现在从 Launch 中选择 IIS 并保存 3]构建项目并运行。

标签: c# asp.net visual-studio-2015 asp.net-core


【解决方案1】:

我在 Visual Studio 2019 中遇到此错误,我的解决方案是运行 VS 安装程序并验证是否安装了 ASP.NET 工作负载。在我的情况下不是,只需安装它即可解决问题。

如果您想按照我的解决方案采取的具体步骤:

  • 打开 VS 安装程序
  • 当您遇到错误时,在您尝试使用的 VS 的 SKU 上单击修改(在我的情况下是 VS 企业的预览版)
  • 在工作负载列表中确保选中 ASP.NET,如果没有选中并单击安装

【讨论】:

  • 你能提供更多细节吗?什么是 SKU,工作负载列表在哪里?
【解决方案2】:

对我有用的是从这里安装 .NET Core 托管包:

http://download.microsoft.com/download/3/8/1/381CBBF3-36DA-4983-BFF3-5881548A70BE/DotNetCore.1.0.4_1.1.1-WindowsHosting.exe

更新:

可以找到最新的可用版本here

只需安装它并使用 IIS 启动您的项目。

【讨论】:

    【解决方案3】:

    这发生在我对 VS 2019 的更新中。我所做的是:

    1. 打开 Visual Studio 安装程序。
    2. 点击修改
    3. 点击“.NET跨平台开发”下的“开发时IIS支持”
    4. 点击修改

    这为我解决了这个问题。

    【讨论】:

      【解决方案4】:

      由于不清楚您是否尝试将它们托管在 IIS 中(此消息仅应在您尝试将其托管在 IIS 上时出现)... 见仁见智。

      默认情况下 iirc 未安装 ASPNetCoreModule,即使使用 VS2015/2017 工具也不安装。您可以从官方 .NET Core 下载页面here 下载并安装它们。

      您需要“Windows Server Hosting (x64 & x86)”。

      【讨论】:

      • 我没有在 IIS 上托管我的应用程序,我正在尝试从 Visual Studio 2015 在我的 PC 上本地运行 ASP.NET Core 项目。
      • 请再次查看我的问题,我附上了一张关于安装了哪些 SDK 的图片。我应该安装“Windows Server Hosting (x64 & x86)”吗?
      • 我已经安装了这个包 (.NET Core 1.1.1 runtime (Current))。但是,仍然存在相同的错误。可能还有其他建议吗?
      • 错误信息与运行时无关,与 IIS 模块有关。 ASPNETCoreModule 是 HttpPlattformHandler(用于 Http 侦听器和代理请求的 IIS 模块)的专门分支。这不是运行时的一部分。它通常应与 a) .NET Tools for Visual Studio 2015 一起安装(或与 VS2017 安装程序一起安装,因为 .NET 是内置的)或通过 .NET Core 下载页面上的“Windows Server Hosting (x64 & x86)”下载, 不是“.NET Core 1.1.1 运行时(当前)”
      • 不是真的...切换到 VS2017。它的安装和更新速度更快,并且将是唯一支持未来版本的 dotnet 工具/构建管道的版本。旧的 project.json 相关工具将不再更新,它们已被弃用。所以在某些时候切换到vs2017是不可避免的
      【解决方案5】:

      Vs2017 installer上查看IIS Express

      【讨论】:

        【解决方案6】:

        它可能来自缺少 .NET Core SDK 或版本不匹配。您的项目是否有 global.json (link)?如果没有,请尝试使用它来指定要使用的 .NET Core SDK 的版本。不过要小心,要指定的版本不是“公共转发”版本,它可能有点违反直觉。

        编辑:现在我想了想,你确定你安装了 .NET Core SDK for Visual Studio 2015 吗?我不记得它是否是开箱即用的。

        【讨论】:

        • 请再次查看我的问题,我附上了一张关于安装了哪些 SDK 的图片。我应该安装“Windows Server Hosting (x64 & x86)”吗?
        • 试一试也无妨。我确定我之前收到过这条消息,这是项目结构(xproj、project.json 或 csproj)与我拥有的工具之间的版本不匹配。默认情况下,它将采用最新的工具。
        • 所以我需要将版本从"version": "1.0.0-preview2-003131"更改为"version": "1.0.3-preview2-003131"
        • 转到磁盘上的“C:\Program Files\dotnet\sdk”以查看您拥有的版本
        • 我改变了这个参数。没啥事儿。我仍然遇到同样的错误。
        【解决方案7】:

        从 16.9 更新到 16.10 后出现此错误。修复 Visual Studio 解决了这个问题。

        【讨论】:

          猜你喜欢
          • 2021-08-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-09-10
          • 2020-05-02
          • 1970-01-01
          • 2021-09-25
          相关资源
          最近更新 更多