.NET Core SDK 未安装 ASPNETCoreModule

ASPNETCoreModule not installed with .NET Core SDK

我在 Windows 10 上安装了 VS 2017.NET Core SDK。但它没有安装 ASPNETCoreModule,如下图 2 所示。我认为 .NET Core SDK 应该隐式安装它 - 而且不必单独安装它。 注意:我正在尝试将我的 asp.net 核心应用程序发布到 IIS,并且发布过程需要 ASPNETCoreModule,如上文所述 link 以及在这个官方MSDN article.

缺少 ASPNETCoreModule:

ASP.NET 核心模块与 SDK 分开安装。您可以在此处下载当前版本 2.0.0。 https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.0.0-download.md#windows-server-hosting

有关其他版本的列表,请参阅 https://github.com/dotnet/core/blob/master/release-notes/download-archive.md

ASP.NET Core Module is installed separately from the SDK

自从 2.1 发布以来就不是这样了。我在 Windows Server 2016 上遇到了同样的问题。该模块是在卸载旧版本/安装 2.1 几次后安装在开发人员 PC 上的,但在 2016 年仍然遇到同样的问题。% SystemRoot%\system32\inetsrv\aspnetcore.dll 仍然缺失。

为了 运行 IIS 上的 .net 核心应用程序,您需要安装随附的 ASP.NET 核心模块 ( the way it works is explained here ):
1 - 使用 SDK 2.1,
2 - 使用 Hosting Bundle Installer 将 .Net Core 和 ASP.NET Core Runtime 捆绑到一个捆绑器中。

你可以同时拥有 download page

如果您是开发人员计算机,您已经拥有带有 SDK 的模块,我认为最好在服务器计算机上只拥有托管包

首先,您需要检查您的 IIS 配置,如果您的 IIS 中配置了共享配置,则无法正常安装 dotnet 托管捆绑包, 要使其正常工作,您需要使用以下参数通过命令行安装捆绑包:

dotnet-hosting-{VERSION}.exe OPT_NO_SHARED_CONFIG_CHECK=1

可以参考ASP.NET Core Module with an IIS Shared Configuration

这个解决方案对我有用,因为我们在 IIS 中使用共享配置