使用 Visual Studio 2010 开发 .net 3.5 sp1 产品有啥危险吗?

Posted

技术标签:

【中文标题】使用 Visual Studio 2010 开发 .net 3.5 sp1 产品有啥危险吗?【英文标题】:Are there any dangers in using Visual Studio 2010 to develop .net 3.5 sp1 products?使用 Visual Studio 2010 开发 .net 3.5 sp1 产品有什么危险吗? 【发布时间】:2011-02-15 20:56:53 【问题描述】:

我们对将我们的开发 IDE 从 Visual Studio 2008 升级到 2010 的前景感到兴奋。但是,我们的生产环境并没有计划在不久的将来从 .net 3.5 sp1 升级到 .net 4.0。

使用 Visual Studio 2010 开发实际在 .net 3.5 sp1 上运行的生产级应用程序可能存在哪些风险?

【问题讨论】:

【参考方案1】:

我只知道几个小问题。在 VS2010 中创建的新 C# 项目将依赖于 Microsoft.CSharp.dll,它是新“动态”关键字的运行时支持程序集。当您将目标框架版本更改为 3.5 时,您会收到有关此程序集的警告,您必须手动将其删除。

此外,您的代码将由新的 C# 4.0 编译器编译,即使您针对的是较早版本的框架。这可能是兼容性问题的根源,即使用 3.0 编译器编译的代码不同。更常见的兼容性问题是不应该在 3.0 中编译但由于编译器错误而编译的代码。当然不是真正的问题,但如果您签入仍然使用 3.0 的团队成员编写的代码,则可能会出现问题

您可以强制编译器通过 Project + Properties、Build 选项卡、向下/向右滚动、Advanced、Language Version = "C# 3.0" 来验证没有意外使用新的 4.0 功能。

如果您想确定,请再等几个月,并留意 connect.microsoft.com 上的反馈。

【讨论】:

我不得不评论第一点:在VS2010中新建项目时,可以预先选择框架版本。如果您选择 .NET 3.5,它不会添加对 Microsoft.CSharp.dll 的引用。如果您将项目从 VS2008 升级到 VS2010,也是如此。它不会添加此引用,除非您将框架版本更改为 v4,无论如何升级后都会完成,所以这不是问题)【参考方案2】:

IMO 确实没有任何可信的风险 IMO。我想您可能会说风险在于您团队中的某个人可能会不小心将您的项目升级到 4.0,但话又说回来,这就是“svn revert”命令的用途。 :)

但是,您可能会发现,如果您运行构建服务器,则必须在其上升级框架版本,因为构建服务器上的 MSBuild 副本无法识别您的 VS 2010 项目文件。但是较新版本的 MSBuild 没有问题,可以回溯到我见过的 3.5 应用程序。

【讨论】:

【参考方案3】:

目标 3.5(或 3.0 或 2.0)仍然是可能的,就像在 2008 年一样。我猜如果您正在为 2.0 开发但错误地使用了 3.0 或 3.5 功能,那么存在同样的风险。

我的建议是去做——我们在同一条船上,到目前为止一切正常。

【讨论】:

以上是关于使用 Visual Studio 2010 开发 .net 3.5 sp1 产品有啥危险吗?的主要内容,如果未能解决你的问题,请参考以下文章

采用 Visual Studio 2010 进行开发

开发工具:Microsoft Visual Studio 2010

microsoft visual studio 2010下载

使用 Visual Studio 2010 开发 .net 3.5 sp1 产品有啥危险吗?

Visual Studio 2010 是不是支持 iPhone 开发? [复制]

将 C++ 项目从 Visual Studio 2008 转换为 Visual Studio 2010