无法在IIS 7.5上运行ASP.NET MVC 2 Web应用程序

我试图在Windows 7下的IIS下运行ASP.NET MVC 2 Web应用程序,但我得到一个403.14错误。 以下是重现步骤:

  1. 打开Visual Studio 2010
  2. 创build一个名为MvcApplication1的新ASP.NET MVC 2项目
  3. Shift + F5运行应用程序。 你应该看到http://localhost:{random_port}/ ,页面将正确呈现。
  4. 点击MvcApplication1,然后select“属性”。 转到“Web”部分。
  5. select“使用本地IIS Web服务器”并创build一个虚拟目录。
  6. 保存。
  7. Shift + F5运行应用程序。 您应该看到http://localhost/MvcApplication1/和IIS错误HTTP Error 403.14 - Forbidden The Web server is configured to not list the contents of this directory.

很明显,无论出于何种原因,ASP.NET路由不能正常工作。

我已经想到和尝试的东西:

  • 已validation在“打开或closuresWindowsfunction”中启用了所有IISfunction。
  • validation默认网站configuration为使用.NET 4.0
  • 通过v4.0.30319目录中的aspnet_regiis -i重新分配了ASP.NET v4 scripmaps。

这是最令人惊叹的部分 – 这是一个刚刚build成的机器。 Windows 7 x64 Ultimate的全新副本,Visual Studio 2010 Premium的全新安装,没有其他网站,也没有其他工作。

还有什么我可以尝试?

将Visual Studio设置为使用本地IIS Web服务器http://i41.tinypic.com/11j176b.png

好的,这是为我解决,做到以下几点:

32位目录c:\Windows\Microsoft.NET\Framework\v4.0.30319运行aspnet_regiis -i

在这一点上,我不明白为什么64位模式不工作,但我现在已经畅通无阻。 希望这可以帮助任何有这个问题的人。

我有完全相同的问题,所以感谢您的帮助。

但是…你是否尝试在Visual Studio 64位命令提示符(具有pipe理员权限)运行aspnet_regiis -i命令? 当我这样做,它修复了64位模式。

为了澄清,我右键单击Visual Studio x64 Win64 Command Prompt (2010)并select以pipe理员身份运行。 然后我去了这里:

 C:\Windows\Microsoft.NET\Framework64\v4.0.30319 

这样做: aspnet_regiis -i

现在它完美的工作。

还要确保你的configuration文件有下面这行,否则路由将无法工作。

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

另外要注意的是,确保您的应用程序池被设置为集成,而不是经典

不要使用runAllManagedModulesForAllRequests。 您希望让IIS处理图像等资源。

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

而是添加MVC路由模块

 <system.webServer> <modules> <remove name="UrlRoutingModule-4.0" /> <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" /> </modules> </system.webServer> 

我在IIS8 / Windows Server 2012上遇到了同样的问题。

 dism /online /enable-feature /featurename:IIS-ASPNET45 /All 

没有“/所有”开关,它抱怨父function没有安装。

奇怪的是,根据Windows' 打开或closuresWindowsfunction设施,asp.net 4.5已经安装。

没有必要对web.config进行任何更改,添加或删除模块。

我一直使用VS 2008中的自定义服务器设置,这仍然允许我debugging没有问题。 不知道2010年的情况是否会有所不同

我有这些症状; 我的Global.asax崩溃了。 修复了崩溃,现在一切正常。