ASP.NET 4.8 功能在 IIS 8.5 中不可用 (Windows Server 2012 R2)

ASP.NET 4.8 Feature unavailable in IIS 8.5 (Windows Server 2012 R2)

Windows Server 2012 R2、IIS 8.5、.NET 4.8 已安装(通过注册表验证,请参见屏幕截图)。

在我的 Windows 10 机器上,我在“打开或关闭 Windows 功能”对话框中看到 select ASP.NET 4.8 功能的选项。但是,在 Windows 2012 R2 的添加服务器角色向导中,我只看到列出了 ASP.NET 4.5 选项。请参阅屏幕截图进行比较。

我的问题:Windows Server 2012 R2 只显示 ASP.NET 4.5 选项是否正常?即使安装了更高版本的 .NET Framework(例如 4.8)?

由于 Windows 服务器默认安装附带特定的 .NET Framework(例如 4.5),Microsoft 在某些 UI 元素中硬编码了版本名称(如 .NET Framework 4.5),例如作为服务器管理员。

当您将其升级到较新的 .NET Framework 版本(例如 4.6)时,这将成为一个严重问题,因为安装程序不会更新那些硬编码的名称。

这个问题多年来一直广为人知,所以您唯一的选择就是接受它。

我的解决方案是在 IIS 主机上安装 visual stuido 并将属性更改为 4.8 Framewoker 版本 (https://www.grapecity.com/kb/how-to-change-the--net-framework-version-in-visual-studio)

这个解决方案让我的项目可以 运行 System.IO.Compression.ZipFile 。 默认 4.5 版本上的 ref 不能 运行。