我可以在Visual Studio 2008中开发.NET Framework 4吗?

我的ASP.NET应用程序在我的Web服务器上的IIS中运行,并使用Microsoft .NET Framework 4 Beta 2(其应用程序池设置为.NET Framework版本.NET Framework v4.0.21006。)

它给了这个新的错误:

从客户端检测到有潜在危险的Request.Form值

这是由于在.NET 4中发生了重大变化 。

要还原为ASP.NET 2.0请求validationfunction的行为,我在Web.config文件中添加了以下设置:

<httpRuntime requestValidationMode="2.0" /> 

现在Visual Studio 2008会引发编译时错误:

'requestValidationMode'属性没有被声明。

而且我不能再使用Visual Studio附带的ASP.NET Development Server在我的开发机器上进行debugging。

我需要Visual Studio及其ASP.NET开发服务器来识别新的.NET Framework 4 requestValidationMode属性。

如何在.NET 4中debugging我的应用程序? 我必须从Visual Studio 2008切换到Visual Studio 2010 Beta 2吗?

您不能使用Visual Studio 2008以受支持的方式开发4.0应用程序。 目前只有Visual Studio 2010可以用来开发4.0应用程序。 从2008年开始,您可以使用它开发早期版本的框架,而不是晚期版本。

来自ScottGu的博客 :

没有任何方法可以从VS08中使用.NET 4并使用新function。 话虽如此,.NET4向上兼容.NET 3.5–所以你使用VS08构build的.NET 3.5应用程序应该可以在.NET 4的基础上正常工作。

开发.NET 4的唯一方法是使用Visual Studio 2010.但是,如果在Visual Studio 2008中创build托pipe程序集,则可以在安装了.NET 4运行时的计算机上运行。

和以前的许多Visual Studio版本一样,你不能开发一个更高版本的框架应用程序(在这个问题中是.NET 4.0),使用Visual Studio作为低版本框架(在这个问题上是Visual Studio 2008),就像你不能开发3.5 Visual Studio 2005中的应用程序等等。

每次开发应用程序时,您都可以尝试更新从.NET 3.5到.NET 4.0的引用(例如,使用.NET 4.0中的System.dll代替项目直接引用的System.dll),但我不认为它会从新的框架版本中识别新function。

我的猜测是,你已经find了一个美好的例子,它只是要抱怨到最后。 你可能会更好使用VS2010的testing版或删除validationMode属性。

理论上,你可以尝试附加适当的工作stream程,并得到一些debugging爱,但它可能无法工作。

您可以使用Visual Studio 2008来定位.NET Framework 4.0。您只需等待正确的插件(创buildSilverlight 4项目等)。 例如,您可以在Visual Studio 2005中使用正确的SDK使用.NET Framework 3.5。

如果你想开发的.NET 4没有昂贵的Visual Studio 2010专业版,你可以尝试单声道 :

单声道项目