Take the 2-minute tour ×

My ASP.NET application runs in IIS on my web server and uses Microsoft .NET Framework 4 Beta 2. (Its Application Pool is set to .NET Framework version .NET Framework v4.0.21006.)

It gives this new error:


This is due to a breaking change in .NET 4.

To revert to the behavior of the ASP.NET 2.0 request validation feature, I added the following setting in the Web.config file:

<httpRuntime requestValidationMode="2.0" />

Now Visual Studio 2008 throws a compile-time error:

The 'requestValidationMode' attribute is not declared.

And I can no longer debug on my development machine using the ASP.NET Development Server that comes with Visual Studio.

I need Visual Studio and its ASP.NET Development Server to recognize the new .NET Framework 4 requestValidationMode attribute.

How can I debug my application in .NET 4? Must I switch from Visual Studio 2008 to Visual Studio 2010 Beta 2?

share|improve this question
Some of the .NET 4 libraries were backported to 3.5 in the Reactive Extensions project - msdn.microsoft.com/en-us/data/gg577609 –  David d C e Freitas May 4 '11 at 9:02

7 Answers 7

You cannot use Visual Studio 2008 to develop 4.0 applications in a supported manner. Currently only Visual Studio 2010 can be used to develop 4.0 apps. Starting with 2008 you can use it to develop for earlier versions of the framework but not later ones.

share|improve this answer

From ScottGu's blog:

There isn't any way to target .NET 4 from VS08 and use new features. Having said that, .NET4 is upwards comaptible with .NET 3.5 - so applications you build targeting .NET 3.5 with VS08 should work fine on top of .NET 4.

share|improve this answer

as many previous Visual Studio releases, you cannot develop a higher version framework application (in this question .NET 4.0) using a VS for a lower version framework (in this question VS 2008), just the same as you cant develop 3.5 apps in VS 2005, and so on and so forth. You may try updating the references from .NET 3.5 to .NET 4.0 (for example, using System.dll from .NET 4.0 instead of the one referenced directly by the project) every time you develop apps, but I dont think it would recognize the new features from the new framework version.

share|improve this answer

The only way to develop for .Net 4 is to use Visual Studio 2010. However, if you do create a managed assembly in VS2008, you could run in on a machine with .net 4 run-time installed.

share|improve this answer

My guess is that you have found one of those fabulous cases where it is just going to complain to no end. You will likely be better off using the beta of VS2010 or removing the validationMode attribute.

You could, in theory, try attaching to appropriate worker process and get some debugging love - but it still might not work.

share|improve this answer

You can target the .NET Framework 4.0 using VS2008, just have to wait for the right plugins (create Silverlight 4 projects, etc). For instance, you can use .NET Framework 3.5 in VS2005 with the correct SDK.

share|improve this answer
"just have to wait for the right plugins" - and when are you planning on releasing these plugins, Xico? :) –  BlueRaja - Danny Pflughoeft Apr 28 '10 at 14:25

If you want to develop for .net 4 without the pricey Visual Studio 2010 Pro, you can try Mono:

Mono Project

share|improve this answer
Mono doesn't support .Net 4 fully as of yet, and The VS2010 Express versions would work if that was an issue. The question was about using VS2008. –  Matt Sieker Jul 26 '11 at 15:47
Although it is not an answer to the question, it's an option, and any alternative is welcome for me. –  Guillermo Gutiérrez Aug 14 '12 at 14:06

protected by bmargulies Jul 27 '11 at 0:18


Would you like to answer one of these unanswered questions instead?
