技术开发 频道

VS 2010 和 .NET 4.0 之多定向支持

VS 2010的多定向支持

  我们在VS 2010中做了一些非常重大的架构级改动,来促成更好和更精确的多定向支持。

  VS 2010现在给每一个.NET版本都配置了我们称之为“引用程序集(reference assemblies)”的东西。“引用程序集”只包含某个特定框架程序集的元数据,而不是它的实现(因此所占硬盘极小)。但这个元数据足够确保VS 2010总是能够在定向某个.NET 框架版本时提供百分之百精确的intellisense。这还意味著,通过设计器中属性表格呈示的属性,对象浏览器中的API列表,以及IDE中所有其它各种地方都能精确地显示出确切版本的API签名。

  我们还更新了VS 2010调试器,profiler和编译器,使之能够定向多个CLR版本。

  

  将项目从.NET 2.0 移植到.NET 4.0

  或者,我们也可以在解决方案管理器中右击项目,调出它的属性对话框,来将项目重新定向,使之在.NET后期版本下工作。我们可以选择对话框上的“定向框架(target framework)”下拉框,选择我们想要定向的.NET框架版本:

  我们可以从上面的各种不同的.NET版本中任选一个。该列表中包括了一个"Server Core(服务器核心)” profile,支持无界面的Windows Server 2008 R2版本,它不支持某些APIs。因为我们用于元数据和intellisense的引用程序集能够支持任意一个版本,如果它们引进任何新的API的话,我们甚至能够在将来的服务包中发布它们的版本,以促成百分之百的精确性。

  在这个示范中,我们将选择把项目移植到.NET 4.0,完毕后,VS 2010将自动地更新项目的引用程序集,以及项目的web.config文件来适当反映出所用的新版本。

  做完这一步后,VS 2010 会过滤工具箱和标识intellisense,显示ASP.NET 4.0版本中所有新的控件和属性。 例如,下面的属性表格现在显示了新的“ClientIDMode”属性,该属性是ASP.NET 4.0中所有控件都有的,它能让你控制客户端ID是如何输出的,以避免丑陋的客户端id(这是ASP.NET 4.0中的一个新特性,我会在以后的博客中讨论):

  至此,我们将项目升级到使用.NET 4.0,VS 2010现在也会显示.NET 4.0中的新的类型和类型中的方法/属性/事件的代码intellisense。例如,在下面,你可以看到 ASP.NET 4.0 “Response” 对象上的一些新的redirect方法(是在前面项目定向.NET 2.0时没有出现的):

  上面新的Response.RedirectPermanent()方法方便了发出“HTTP 301 Moved”回复,该回复可以避免你的网站在搜索引擎中积存失效的链接。URL导向引擎现在也同时为基于ASP.NET Web Forms 和 ASP.NET MVC的应用所支持,新的Response.RedirectToRoute()方法允许你轻松地重新定向到在其中声明的路径。

  最后,在我们使用内置的VS web服务器运行应用时,VS 2010现在会使用ASP.NET 4.0版本来运行这个应用:

  结束语

  VS 2010的多定向支持允许你开发定向 .NET 4.0, .NET 3.5, .NET 3.0 和 .NET 2.0的项目。它允许你开始利用新的工具特性,而不必马上将运行你应用的客户机和服务器升级到.NET 4.0。这改进了的多定向支持将确保其体验比以前更好,更精确。

0
相关文章