Migrating Applications to .NET Framework 4.5: Deprecated Types and New Features
This week, Microsoft released a list of members and types that are changed or deprecated in .NET Framework 4.5 Beta. They have also created a guide to help developers migrate applications created with older versions of the .NET Framework.
The list of obsolete types and members is quite extensive, and Microsoft includes suggestions for alternative options wherever possible. According to the migration guide, many updates can be accomplished automatically by the upgrade wizard in Visual Studio 11 Beta. Other migrations will need to be done manually.
Compatibility issues between .NET 4 and 4.5 are detailed in Application Compatibility in the .NET Framework 4.5 Beta. Some notable items include:
- Added support for Enums in Entity Framework
- Windows Workflow Foundation (WWF) 3.0 is now obsolete
- Ability to compile against a specific version of mscorlib.dll, not just the Framework 4.5 version
- Changes to HTTP status codes reported by Windows Communication Foundation (WCF)
- Sql.Data.SqlClient no longer supports SQL Server 1997 or the Virtual Interface Adapter
If the developer doesn't want to migrate an application to .NET Framework 4.5, it can still be run in Visual Studio 11 without recompiling. (Note that Windows XP and Vista do not support .NET Framework 4.5 Beta.)
As Alexander Manekovskiy discusses in his post about new and changed types in .NET Framework 4.5 Beta, Microsoft hasn't yet detailed many of the new additions to the framework, even though there are several.
There are 969 new public types in .NET 4.5. But it does not mean that those are completely new things, because it is not, it means that out of the box .NET 4.5 Beta has +969 new types comparing to .NET 4.0 and now there are totally 14971 public and documented types in .NET 4.5. Almost 15K only public types – that's incredibly huge number.
Most of [the] new types are located in System.IdentityModel, System.Web and System.Windows.Controls.Ribbon assemblies. Taking into account that System.IdentityModel is providing authentication and authorization features and System.Windows.Controls.Ribbon is UI library allowing use of Microsoft Ribbon for WPF, we can make a conclusion that vast amount of new changes is connected with web.
.NET Framework 4.5 Beta also introduces a new version of the CLR. According to Microsoft, CLR 4.5 is meant to improve performance in general. It includes optional background Just-In-Time (JIT) compilation on multi-core processors, background garbage collection, and managed profile guided optimization to improve launch times for desktop applications.
For more information about migrating applications to .NET Framework 4.5 Beta, please consult Microsoft's Migration Guide.