我试图在Windows 7上的IIS下运行ASP.NET MVC 2 Web应用程序,但是我收到403.14错误 . 以下是重现的步骤:
-
打开Visual Studio 2010
-
创建一个名为MvcApplication1的新ASP.NET MVC 2项目
-
按F5键运行应用程序 . 您应该看到
http://localhost:{random_port}/
并且页面将正确呈现 . -
单击MvcApplication1,然后选择"Properties" . 转到"Web"部分 .
-
选择"Use Local IIS Web server"并创建虚拟目录 .
-
保存 .
-
按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路由都无法正常工作 .
我已经想过并尝试过的事情:
-
已验证"Turn Windows features on or off"中已启用所有IIS功能 .
-
已验证默认网站配置为使用.NET 4.0
-
在
v4.0.30319
目录中通过aspnet_regiis -i
重新分配了ASP.NET v4脚本映射 .
这是最神奇的部分 - 这是在一台刚刚建造的机器上 . Windows 7 x64 Ultimate的新副本,Visual Studio 2010 Premium的全新安装,没有其他网站,也没有执行其他工作 .
还有什么我可以尝试的吗?
Setting Visual Studio to use local IIS web server http://i41.tinypic.com/11j176b.png
8 回答
我有这些症状;我
Global.asax
崩溃了 . 修复了崩溃,现在一切正常 .好的,通过执行以下操作,我可以解决这个问题:
在 32-bit 目录
c:\Windows\Microsoft.NET\Framework\v4.0.30319
中运行aspnet_regiis -i
.此时,我不明白为什么64位模式不起作用,但我现在已经解锁了 . 希望这有助于其他任何有此问题的人 .
我有完全相同的问题,谢谢你的帮助 .
但是......您是否尝试在Visual Studio 64位命令提示符下运行
aspnet_regiis -i
命令(具有管理员权限)?当我这样做时,它修复了64位模式 .为了澄清,我右键单击
Visual Studio x64 Win64 Command Prompt (2010)
并选择以管理员身份运行 . 然后我去了这里:并做到了这一点:
aspnet_regiis -i
现在它完美无缺 .
还要确保配置文件具有以下行,否则路由将不起作用 .
另外需要注意的是,确保您的应用程序池设置为集成,而不是经典
不要使用runAllManagedModulesForAllRequests . 您希望让IIS处理图像等资源 .
而是添加MVC路由模块
我在IIS8 / Windows Server 2012上遇到了同样的问题 . 在我尝试以下操作之前,许多提议的解决方案都没有 .
没有'/ All'开关,它抱怨没有安装父功能 .
奇怪的是,根据Windows的“打开或关闭Windows功能”功能,已经安装了asp.net 4.5 .
无需对web.config进行任何更改,添加或删除模块 .
我一直在VS 2008中使用自定义服务器设置,这仍然允许我调试没有问题 . 不确定它在2010年的运作方式是否有所不同