【IT168 技术文档】今天的贴子讨论VS 2010中增强了的多定向(multi-targeting)支持,该支持允许你使用和定向.NET的多个版本。我们在VS 2010版本中做了重大的架构级工作,实现了若干个新的多定向特性,提供了更佳的体验。
理解并列(Side-by-Side)的含义
VS 2010可以和Visual Studio的早期版本并列(side by side)安装。这意味着,你可以在安装了VS 2008/VS 2005/VS 2003的同个机器上安装VS 2010,如果你想要的话,可以同时使用所有这些版本。
.NET 4.0也可以和.NET的早期版本并列(side by side)安装在同个机器上。.NET 4.0给了框架类库和CLR引擎新的版本号码,这意味着,它可以完全独立于.NET 2.0, 3.0 和 3.5运行。这意味着,你可以在安装了.NET 2.0/3.0/3.5的机器上安装 .NET 4.0, 配置某些应用使用.NET 4.0来运行,其他应用使用老一点的.NET版本来运行(IIS管理器工具允许你配置一个ASP.NET应用所使用的.NET版本)。这允许你将.NET 4.0用于新的应用,而没有必要测试和升级所有现有的应用。
VS 2008的多定向支持
VS 2008是第一个包含.NET多定向支持的Visual Studio版本,这意味着,你不光可以使用VS 2008创建和编辑.NET 3.5 项目,也可以创建和编辑.NET 3.0 和 .NET 2.0项目。这允许开发人员更快地升级和充分利用新的Visual Studio工具特性,而不必要求在运行他们应用的客户机和生产性服务器端安装新一点的.NET 版本。
VS 2008的多定向支持利用了.NET 2.0, .NET 3.0, 和 .NET 3.5都是在同个版本的CLR之上运行的这个事实,而这三个.NET 版本的主要区别在于它们的框架类库。结果是,Visual Studio的编译器能够生成同样的IL输出,调试器能够针对同个CLR引擎进行调试,IDE对多定向的支持主要着重于过滤掉不支持某个给定.NET 版本的新的程序集和项目模板的的显示。
这个多定向体验是可行的,尽管不完美。VS 2008中的Intellisense总是显示.NET 3.5版本的框架类库的类型和成员(即使你定向的是.NET 2.0)。这意味着,你有时候会在无意中使用一个ASP.NET 3.5才有的方法,尽管你是在开发一个ASP.NET 2.0 项目。