What could cause an error with .Net 4.0 and IIS 6?

What could cause an error with .Net 4.0 and IIS 6?

I have two websites on IIS 6 that throw server errors when they are set to ASP.NET 2 (via the ASP.NET tab in IIS properties) - one because of a dependancy on a library built in .NET 4, the other because it is an N4/MVC2 application which specifies 4.0 as it's targetFramework in config.

When I change the setting in the ASP.NET tab to be .NET 4, both websites just return 'page cannot be found' errors, even when pointed at a specific page (by route in the MVC app, an .aspx file in the ASP.NET app).

I've tried adding a wildcard ISAPI filter to the MVC app as described a few places online, but this hasn't done anything (either when pointed at the 2.0 dll or the 4.0 dll). The versions of .NET 4 on the server and in Visual Studio are the same (4.0.30319).

I am running under IIS 6 on Windows Server 2003.

Does anyone have any ideas what I might be missing here?

Forms Authentication & IIS7 (&MVC): Why ReturnUrl=/ is added?


Can i access ValidationMessage through jquery in asp.net mvc
Obviously, your app need run in v4 of the CLR. Internet Explorer Nested Form Post That part is clear. jQuery DateTime picker Getting your ISAPI filters correct must be a struggle. WebDev.WebServer.EXE hangs First, you'll need to ensure (and I mean ensure, don't just glance at it and think its correct, copy/paste the path and make sure everything is pointing correctly) all filters are pointing to the correct v4.0 DLLs. Model Binding to a List in asp.net mvc 2. Found example. Can't find where I'm going wrong Next, make sure your wildcard filter doesn't have the "ensure file exists" checkbox checked. ASP.NET MVC User Control - Where to put the CSS specific to a control? This is what caused me the most issues. ajax.actionlink Lastly, ensure your permissions are correct. . If it still isn't working, you'll need to turn on fusion logging, check your iis logs, and maybe even pull out Process Monitor to see what IIS is endeavor to did when you connect to the server..


As per Pete's comment, the answer for me was:.
It was a setting in IIS, Web Service Extensions. .NET 4 was set to prohibited. Allowed it, and everything worked.

67 out of 100 based on 62 user ratings 777 reviews