39

我有一个使用 MVC 4 和 .NET 框架 4.5 在 Visual Studio 2012 中构建的网站。当我尝试在运行 Windows 8 Pro 的机器上通过 IIS 8 运行它时,我收到 403.14 错误。它说

“禁止 Web 服务器配置为不列出此目录的内容。

最可能的原因:没有为请求的 URL 配置默认文档,并且服务器上没有启用目录浏览。”

以下是我尝试过的一些无效的方法:

  • 在此目录和 Framework64 目录中运行 %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i和 %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir 。这会导致此错误:“此版本的操作系统不支持此选项。管理员应使用“打开/关闭 Windows 功能”对话框、服务器管理器管理工具或dism.exe 命令行工具。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=216771。该链接转到有关 Windows Server 2012 的页面,但该页面无济于事。我在 iis 8 的“打开或关闭 Windows 功能”对话框中找不到特定设置。与 .net 4 相关的所有内容。
  • 添加到 Web.config 中。这会产生错误:“此配置部分不能在此路径中使用。当该部分在父级别锁定时会发生这种情况。锁定是默认情况下 (overrideModeDefault="Deny"),或者由具有 overrideMode 的位置标记显式设置="Deny" 或旧的 allowOverride="false"。"

我已经确保在服务器上安装了 .net 4.5(安装程序说它内置在 Windows 8 中,不需要安装)。应用程序池是使用 .net 4.0 集成管道的默认池,启用了 32 位应用程序。我正在发布到默认目录 (inetpub\wwwroot),并且那里的默认站点运行良好。HTTP 重定向在“打开或关闭 Windows 功能”中打开

谁能提供更多见解?

编辑:嗯,当然,在我发布这个之后,我发现了一些有用的东西。去搞清楚。

在“打开或关闭 Windows 功能”中,在 Internet 信息服务 -> 万维网服务 -> 应用程序开发功能下,确保 .NET Extensibility 3.5、.NET Extesibility 4.5、ASP.NET 3.5、ASP.NET 4.5、ISAPI扩展和 ISAPI 过滤器被选中。

这在这里概述:http ://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-using-aspnet-35-and-aspnet-45#TOC301258515但因为指的是 server 2012 而不是 windows 8 我找不到这些设置的正确位置。

希望这可以帮助任何有类似问题的人。谢谢阅读。

4

1 回答 1

68

在“打开或关闭 Windows 功能”中,在 Internet 信息服务 -> 万维网服务 -> 应用程序开发功能下,确保 .NET Extensibility 3.5、.NET Extesibility 4.5、ASP.NET 3.5、ASP.NET 4.5、ISAPI扩展和 ISAPI 过滤器被选中。

这在这里概述:http ://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-using-aspnet-35-and-aspnet-45#TOC301258515但因为指的是 server 2012 而不是 windows 8 我找不到这些设置的正确位置。

注意:添加答案以清除未回答的问题

于 2013-03-13T16:10:56.470 回答