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


当前回答

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

其他回答

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

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

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

<remove name="WindowsAuthentication" />

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

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

另一个可能的解决方案,如果你移动全局。asax,确保标记指向正确的MvcApplication类。希望这能在将来拯救一些人。

在Windows Server的新版本中,UI略有不同。这就是您必须启用ASP的地方。来使它在IIS上工作

就我而言,ASP。服务器上没有安装NET 4.5,所以安装ASP。NET 4.5修复了这个问题。

我一度改变了我的默认路线:

routes.MapRoute(
"Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }

To:

routes.MapRoute(
"Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index" }

这就给出了你的误差。很高兴有人提到了路由,因为我可能永远都在这上面。