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

34

我的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请求验证功能的行为,我在Web.config文件中添加了以下设置:

<httpRuntime requestValidationMode="2.0" />

现在,Visual Studio 2008会抛出编译时错误:

'requestValidationMode'属性未声明。

我不能再使用Visual Studio附带的ASP.NET开发服务器在我的开发机上进行调试。

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

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


一些.NET 4库已经在反应式扩展项目中向后移植到3.5 - http://msdn.microsoft.com/en-us/data/gg577609 - David d C e Freitas
7个回答

32

不能使用Visual Studio 2008以受支持的方式开发4.0应用程序。目前仅可使用Visual Studio 2010开发4.0应用程序。从2008开始,您可以使用它来为早期版本的框架进行开发,但不能用于后续版本。


14

来自ScottGu的博客

在VS08中没有任何方法可以针对.NET 4使用新特性。话虽如此,.NET4与.NET 3.5向上兼容 - 因此,您使用VS08构建针对.NET 3.5目标的应用程序应该可以在.NET 4上正常运行。


3

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


3
作为之前发布的Visual Studio版本,您不能使用较低版本的Visual Studio(在本问题中为Visual Studio 2008)开发更高版本的框架应用程序(在本问题中为.NET 4.0),就像您不能在Visual Studio 2005中开发3.5应用程序一样,依此类推。
每次开发应用程序时,您可以尝试将引用从.NET 3.5更新到.NET 4.0(例如,使用来自.NET 4.0的System.dll而不是项目直接引用的那个),但我认为它不会识别新框架版本的新功能。

1

我猜测你遇到了那种极其棘手的问题,它会一直抱怨不停。你最好使用 VS2010 的 beta 版本或移除 validationMode 属性。

在理论上,你可以尝试附加到适当的工作进程并进行调试,但仍然可能无法正常工作。


1

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


4
“只需要等待合适的插件” - 那么,Xico,你计划什么时候发布这些插件呢? :) - BlueRaja - Danny Pflughoeft

0
如果您想在没有昂贵的Visual Studio 2010 Pro的情况下开发.NET 4,可以尝试MonoMono项目

目前Mono还不完全支持.Net 4,如果这是一个问题,可以使用VS2010 Express版本。问题是关于使用VS2008的。 - Matt Sieker
1
虽然这不是问题的答案,但它是一个选项,任何替代方案对我来说都是受欢迎的。 - Guillermo Gutiérrez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接