In less than a week Microsoft will formally end support for versions 4.0, 4.5, and 4.5.1 of the .NET Framework. Users should upgrade to a later version such as the slightly incompatible .NET 4.5.2.
Before we move on, it should be noted that this only affects the 4.x series. The much older .NET 3.5 SP 1 will continue to be supported. In this context, support means having access to technical support, security updates, and hotfixes.
Compatibility
When upgrading to .NET 4.5.2, ASP.NET developers may see a compatibility issue. Though considered a security risk, developers previously had the ability to disable the view state message authentication code by setting enableViewStateMac to false at the application or page level. This is no longer permitted.
If you recompile your application for .NET 4.5.2 and use the DataObject.GetData to read from the clipboard, you could also run into problems.
For apps that target the .NET Framework 4 or that run on the .NET Framework 4.5.1 or earlier versions, DataObject.GetData retrieves HTML-formatted data as an ASCII string. As a result, non-ASCII characters (characters whose ASCII codes are greater than 0x7F) are represented by two random characters. For example, é (0xE9) is represented by é (0xC3 0xA9).
For apps that target the .NET Framework 4.5 or later and run on the .NET Framework 4.5.2, DataObject.GetData retrieves HTML-formatted data as UTF-8, which represents characters greater than 0x7F correctly.
If you choose to migrate to .NET 4.6, the breaking changes are more significant. See the Application Compatibility in the .NET Framework 4.6 guide for details.
Azure
If you have automatic updates turned on, your Windows Azure Guest OS will be upgraded to .NET 4.5.2 in January.