【问题标题】:Can I develop for .NET Framework 4 in Visual Studio 2008?我可以在 Visual Studio 2008 中为 .NET Framework 4 进行开发吗?
【发布时间】:2010-12-22 15:01:39
【问题描述】:

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

它给出了这个新错误:

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

这是由于 .NET 4 中的 a breaking change

为了恢复到 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 asp.net visual-studio asp.net-4.0


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    来自ScottGu's blog

    没有任何方法可以针对 .NET 4 从 VS08 开始并使用新功能。有 说,.NET4 向上兼容 使用 .NET 3.5 - 所以你的应用程序 使用 VS08 构建目标 .NET 3.5 在 .NET 4 上应该可以正常工作。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        与许多以前的 Visual Studio 版本一样,您不能使用用于较低版本框架(在此问题 Visual Studio 2008 中)的 Visual Studio 开发更高版本的框架应用程序(在此问题中为 .NET 4.0),就像您可以一样不要在 Visual Studio 2005 中开发 3.5 应用程序,依此类推。

        您可以在每次开发应用程序时尝试将引用从 .NET 3.5 更新到 .NET 4.0(例如,使用 .NET 4.0 中的 System.dll 而不是项目直接引用的那个),但我不这样做认为它会识别新框架版本中的新功能。

        【讨论】:

          【解决方案5】:

          我的猜测是,您已经发现了其中一个令人抱怨的绝妙案例之一。使用 VS2010 测试版或删除 validationMode 属性可能会更好。

          理论上,您可以尝试附加到适当的工作进程并获得一些调试的爱 - 但它仍然可能无法正常工作。

          【讨论】:

            【解决方案6】:

            您可以使用 Visual Studio 2008 以 .NET Framework 4.0 为目标。您只需等待合适的插件(创建 Silverlight 4 项目等)。例如,您可以在 Visual Studio 2005 中使用带有正确 SDK 的 .NET Framework 3.5。

            【讨论】:

            • “只需要等待合适的插件” - 你打算什么时候发布这些插件,Xico? :)
            【解决方案7】:

            如果你想在没有昂贵的 Visual Studio 2010 Pro 的情况下为 .NET 4 开发,你可以试试Mono

            Mono Project

            【讨论】:

            • Mono 目前还不完全支持 .Net 4,如果这是一个问题,VS2010 Express 版本可以工作。问题是关于使用 VS2008。
            • 虽然这不是问题的答案,但它是一种选择,我欢迎任何替代方案。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多