Retargeting Changes in the .NET Framework 4.5.1

.NET Framework (current version)

In rare cases, retargeting changes may affect apps that are recompiled to target the .NET Framework 4.5.1. They do not affect binaries that target a previous version of the .NET Framework but are running under version 4.5.1. The .NET Framework 4.5.1 includes retargeting changes in the following areas:

The Scope column in the following tables specifies the significance of each change:

  • Major. A significant change that affects a large number of apps or that requires substantial modification of code. Note that none of the retargeting changes fall into this category.

  • Minor. A change that either affects a small number of apps or that requires minor modification of code.

  • Edge. A change that affects apps under very specific scenarios that are not common.

  • Transparent. A change that has no noticeable effect on the app's developer or user. The app should not require modification because of this change.

System.ObsoleteAttribute attributeWhen you create a Windows Metadata library (.winmd file), the ObsoleteAttribute attribute is exported as both ObsoleteAttribute and Windows.Foundation.DeprecatedAttribute.Recompilation of existing source code that uses the ObsoleteAttribute attribute may generate warnings when consuming that code from C++/CX or JavaScript.

We do not recommend applying both ObsoleteAttribute and Windows.Foundation.DeprecatedAttribute to code in managed assemblies; it may result in build warnings.

For more information, see the ObsoleteAttribute reference topic.

System.Data.Common.DbParameter classDbParameter.Precision and DbParameter.Scale are implemented as public virtual properties. They replace the corresponding explicit interface implementations, DbParameter.IDbDataParameter.Precision and DbParameter.IDbDataParameter.Scale.The change only affects developers who build an ADO.NET database provider.Edge

ResolveAssemblyReference taskThe task emits a warning, MSB3270, which indicates that a reference or any of its dependencies does not match the app's architecture. For example, this occurs if an app that was compiled with the anycpu option includes an x86 reference. Such a scenario could result in an app failure at run time (in this case, if the app is deployed as an x64 process).There are two areas of impact:

- Recompilation generates warnings that did not appear when the app was compiled under a previous version of MSBuild. However, because the warning identifies a possible source of runtime failure, it should be investigated and addressed.
- If warnings are treated as errors, the app will fail to compile.

Runtime Changes
Application Compatibility in 4.5
Application Compatibility in 4.5.2