I'm running Windows 7 Ultimate (64 bit) using Visual Studio 2010 RC. I recently decided to have VS run/debug my apps on IIS rather than the dev server that comes with it.
However, every time I try to run an MVC app, I get the following error:
HTTP Error 403.14 - Forbidden The Web server is configured to not list the contents of this directory. Detailed
Error Information
Module DirectoryListingModule
Notification ExecuteRequestHandler
Handler StaticFile Error
Code 0x00000000 Requested
URL http://localhost:80/mySite/
Physical Path C:\myProject\mySite\
Logon Method Anonymous Logon
User Anonymous
I placed a default.aspx
file in the directory and I received the following error:
HTTP Error 500.21 - Internal Server Error Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list
Are there any other steps I forgot to take to get this working?
Notes: I installed IIS 7.5 after installing VS 2010 RC. I used the built-in "Create Virtual Directory" button under the "Web" tab in the MVC project's "Properties" in Visual Studio 2010. I made sure that the application is using the ASP.NET 4 App Pool.
Below are the installed features of IIS I have.
I had another problem that led to this issue.
None of these things worked. It turned out that in my web.config under system.webserver > modules I had the following:
Obviously this removed the windows authentication module which seemed to somehow knock everything off kilter.
I hope this helps someone, as this cost me most of an evening!
In my case ASP.NET 4.5 is not installed on the server so installing ASP.NET 4.5 fixed the issue.
I created a new namespace (and therefore folder) identical to the route to a controller (e.g.
MvcApp/Test/SomeClasses.cs
andMvcApp/Controllers/TestController.cs
). This resulted also in a 403.14!Another reason why someone might get this error is if the file Global.asax is not in the root folder anymore.
The UI is a bit different in the newer versions of Windows Server. Here is where you have to enable ASP.Net in order to get it working on IIS
ASP.NET 4 was not registered in IIS. Had to run the following command in the command line/run
32bit (x86) Windows
64bit (x64) Windows
Note from David Murdoch's comment: