我使用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特性。


当前回答

为这个问题添加另一个解决方案。

在我的Global.asax.cs文件中,我使用以下方法禁用了试图被MVC管道消耗的php文件:

路线。IgnoreRoute("{*php}");

我以前在一个MVC c2项目中做过这些,它工作得很好,但在我的MVC 3应用程序中这样做会导致上面报告的问题。

其他回答

我也收到这个错误,发现“HTTP重定向”没有在Windows服务器中打开。这篇博文也指出了这一点:http://blogs.msdn.com/b/rjacobs/archive/2010/06/30/system-web-routing-routetable-not-working-with-iis.aspx

您可以以管理员身份运行cmd来解决此错误 比

做同样的在图片为windows 32位

只做64位的改变framework64而不是框架 而不是去iis并刷新站点 如果你仍然得到一些错误,改变应用程序池

这对我很管用,也许对其他人也有用。

可能需要的所有组件都不存在或/并且不是所有组件都正确注册。为了解决这个问题,试着取消勾选控制面板中的所有选项->打开或关闭Windows功能-> Internet信息服务-> World Wide Web服务->应用程序开发功能,取消勾选所有选项,然后重新勾选所有选项,然后重置IIS,检查问题是否解决。

ASP。NET 4未在IIS中注册。必须在命令行中运行以下命令/run

32位(x86) Windows

% windir % \微软。NET框架v4。0。30319 \ aspnet_regiis . exe。-ir

64位(x64) Windows操作系统

% windir % \微软。NET Framework64 v4。0。30319 \ aspnet_regiis . exe。-ir

David Murdoch的评论如下:

.net版本已经改变 自从这个答案发布后。检查 框架的版本是什么 %列出% \微软。净\ Framework64 目录并更改命令 因此,在运行之前(它是 目前v4.0.30319)

我还有另一个问题导致了这个问题。

我已经确保我的应用程序池在集成模式下运行。net 4 我已经运行了aspnet_regiis.exe -i 我已经检查文件夹权限设置正确的帐户运行我的应用程序池

这些都没用。原来在我的网里。在系统下配置。webserver >模块我有以下:

<remove name="WindowsAuthentication" />

显然,这删除了windows身份验证模块,似乎以某种方式破坏了一切。

我希望这能帮助到一些人,因为这花了我一个晚上的时间!