迁移应用程序到.NET Framework 4.5:弃用类型与新特性

  • Jenni Konrad
  • 曹如进

2012 年 4 月 30 日

话题:语言 & 开发架构

上周,微软宣布了.NET Framework 4.5 Beta 中改动和弃用的成员及类型清单,并提供了一份指南用于帮助开发人员迁移使用老版本.NET Framework 创建的应用程序。

虽然废弃类型成员清单数量很多,但是微软为其中的每一项提供了可能的替代选择建议。据《迁移指南》上称,大部分更新都可以通过 Visual Studio 11 Beta 中的升级向导自动完成,而有一部分则需要手工完成。

更多关于.NET 4.0 与 4.5 之间的兼容性,可以查阅文章《.NET Framework 4.5 Beta 中的应用程序兼容性》。以下是部分值得注意的改动:

  • 在 Entity Framework 中添加枚举支持;
  • 弃用 Windows Workflow Foundation (WWF) 3.0;
  • 可针对某一特定版本的 mscorlib.dll 进行编译,而不再仅仅是.NET Framework 4.5 版本;
  • Windows Communication Foundation (WCF) 报告的 HTTP 状态码发生改动;
  • Sql.Data.SqlClient 不再支持 SQL Server 1997 和虚拟接口适配器(Virtual Interface Adapter);

如果开发人员不想将应用程序迁移到.NET Framework 4.5,那么无需重新编译,应用程序仍然可以运行在 Visual Studio 11 中。(注意:Windows XP 和 Vista 不支持.NET Framework 4.5 Beta。)

正如 Alexander Manekovskiy 在他的一篇关于.NET Framework 4.5 Beta 中新类型与改动类型的博文中指出,微软还没有披露框架新增部分的细节,不过我们可以发掘出一些线索。

虽然.NET 4.5 中包含了 969 种新的开放类型,但这不是说这些类型都是全新的。事实也的确并非如此,它其实是指.NET 4.5 Beta 与.NET 4.0 相比,可使用的现成类型中有 969 种是新的。因此,目前在.NET 4.5 中共有 14971 中开放和文档化的类型。光开放类型就几乎有 15000 种,这委实是一个大数目。

大部分新类型都位于 System.IdentityModel、System.Web 和 System.Windows.Controls.Ribbon 程序集中。考虑到 System.IdentityModel 提供验证和授权功能,System.Windows.Controls.Ribbon 是为 WPF 提供的微软 Ribbon UI 库,我们可以推出这样的结论:大部分新的改动都与 Web 相关。

.NET Framework 4.5 Beta 还引入了新版本的 CLR。据微软称,CLR 4.5总体上是为了改善性能,其中包括可选的后台多核 Just-In-Time (JIT) 编译、后台垃圾收集以及按配置文件的托管优化(managed profile guided optimization),用于改善桌面应用程序的启动时间。

想要了解更多关于将应用程序迁移到.NET Framework 4.5 Beta 的信息,请查阅微软的《迁移指南》。

查看英文原文:Migrating Applications to .NET Framework 4.5: Deprecated Types and New Features

语言 & 开发架构