解决 Windows Server 2016 上 ASP.NET 的 403.14 错误

Resolving the 403.14 error for ASP.NET on Windows Server 2016

我正在使用全新的 Windows Server 2016 虚拟机,我使用来自 Visual Studio 的 Web 部署在其上部署了 ASP.NET MVC Web API 应用程序2017. 但是,我发现当我在本地浏览到应用程序时,我收到一个页面,错误如下:

HTTP Error 403.14 - Forbidden The Web server is configured to not list the contents of this directory.

在网上查了一下,发现这是一个普遍的问题,并且给出了很多解决方案。例如,请参阅以下内容:

ASP.NET MVC on IIS 7.5

然而,none 我尝试的解决方案在我的 Windows Server 2016 实例上解决了这个问题。

这是对我有用的解决方案:

许多人建议运行使用以下命令在机器上注册ASP.NET:

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir

事实证明,在 Windows Server 2016 中,您需要转到 添加角色和功能向导 来执行此操作(搜索“打开或关闭 windows 功能 ”(在 Windows 搜索中)。在向导中,单击 Next,直到到达 Server Roles 页面。向下滚动并打开以下节点:

Web Server (IIS) > Web Server > Application Development

勾选 "ASP.NET 4.6" 并单击下一步,然后按照提示进行安装。

安装ASP.NET4.6后发现403.14问题解决了

我从模块中删除了重写模块,现在运行良好。

注意:引用不存在的驱动器可能会导致此问题!我们引用了 E:\Log4Net 但在新主机上,这个驱动器不存在!