VS2010多定向支持比较,欢迎大家一起讨论
大家都知道的一个事实,VS2008是第一个包含.NET多定向支持的VS平台。在VS平台上,开发者可以使用VS 2008创建和编辑.NET各个版本,而不必要求在运行他们应用的客户机和生产性服务器端安装新一点的.NET 版本。它多定向支持.NET 2.0、3.0、.NET 3.5三个.NET 版本,因此VS的编译器能够生成同样的IL输出,调试器能够针对同个CLR引擎进行调试,IDE对多定向的支持主要着重于过滤掉不支持某个给定.NET 版本的新的程序集和项目模板的的显示。不过VS 2008中的Intellisense总是显示.NET 3.5版本的框架类库的类型和成员,所以开发者纵然是在开发一个 2.0 项目,也会在无意中使用一个 3.5才有的方法。还好,这个特性在VS2010有了若干增强,不但允许使用和定向.NET的多个版本,还做了重大的架构级工作,实现了若干个新的多定向特性和体验。
在VS 2010中,多定向支持.NET 4.0, .NET 3.5, .NET 3.0 和 .NET 2.0的项目。它允许开始利用新的工具特性,而不必马上将运行你应用的客户机和服务器升级到.NET 4.0。这样就改进了的多定向支持将确保其体验比以VS2008更精确。并且在VS2010中为每一个.NET版本都配置了“引用程序集”的工具。这个“引用程序集”只包含某个特定框架程序集的元数据而不是它的实现,能对设计器中属性表格呈示的属性、对象浏览器中的API列表以及IDE中所有其它各种地方都能精确地显示出确切版本的API签名。
比如,现在用VS 2010来创建一个新的 Web应用。首先使用对话框顶部的版本下拉框过滤项目模板,使之只显示.NET 2.0所支持的模板,然后创建一个新的 2.0 web应用项目。但是在编写代码时,VS 2010只显示.NET 2.0所支持的那些类型和方法/属性/事件的代码intellisense。
如果想将项目从.NET 2.0 移植到.NET 4.0,开发人员可以选择不同的.NET版本进行配置,然后使用内置的VS web服务器运行应用即可。