我使用Visual Studio 2010 RC运行Windows 7 Ultimate(64位)。我最近决定让VS在IIS上运行/调试我的应用程序,而不是在附带的开发服务器上。

然而,每次我尝试运行MVC应用程序,我得到以下错误:

HTTP错误403.14 -禁止Web服务器被配置为不列出此目录的内容。详细的

错误信息

模块DirectoryListingModule

通知ExecuteRequestHandler

汉德勒统计错误

代码0x00000000请求

URL http://localhost: 80 / mySite /

物理 路径C: \ myProject \ mySite \

登录方法匿名登录

匿名用户

我设置了一个默认值。aspx文件在目录中,我收到以下错误:

HTTP错误500.21 -内部服务器 错误处理程序 "PageHandlerFactory-Integrated"有一个 坏模块“ManagedPipelineHandler”在 其模块列表

还有其他我忘了做的步骤吗?

注意:我在安装VS 2010 RC之后安装了iis7.5。在Visual Studio 2010中,我使用了MVC项目的“属性”中“Web”选项卡下的内置“创建虚拟目录”按钮。我确保应用程序使用的是ASP。NET 4应用程序池。

下面是我已经安装的IIS特性。


当前回答

对我来说,解决方案是将NuGet包Microsoft.AspNet.WebPages(加上它的Razor和基础设施依赖)添加到我的web项目中。

基础设施必须强制重新安装,因为一开始没有添加作为参考。

其他回答

我突然遇到了同样的404.14问题。最后,通过取消在发布配置文件设置中的“发布时预编译”,这个问题得到了解决。

请注意,对于Windows 8用户,您需要添加/删除Windows组件,并删除。net重启版本,然后重新安装,以便将其注册到IIS。我认为如果你从visual studio获得。net 4.5,然后安装IIS,就会发生这种情况。

有人可能会得到这个错误的另一个原因是,如果文件全局。Asax已经不在根文件夹中了。

还有一件事要确保你有以下设置在你的web.config:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>

我们有一个MVC应用程序移动到一个新的服务器。net 4和MVC 3安装,但我们仍然得到“错误403.14″。在这种情况下,这意味着IIS不知道它正在处理一个MVC应用程序,它正在寻找默认页面。

解决方案很简单:服务器上没有安装HTTP重定向。

服务器管理器—角色—Web服务器(IIS)—角色服务—HTTP重定向:未安装。安装了它,问题就解决了。