The .NET Framework 4 is backward compatible with applications that were built using .NET. Framework versions 1.1, 2.0, 3.0 and 3.5. In other words, applications and components created using previous versions of the .NET Framework will work on the .NET Framework 4.
However, in practice this compatibility may be violated by seemingly minor changes in the .NET Framework and changes in programming methods. For example, performance improvements in .NET. Framework 4 may reveal a race condition that did not occur in earlier versions. Similarly, using a hard-coded path to the .NET Framework, assemblies that perform equality comparisons with a specific version of the .NET Framework and obtain the value of a private field using reflection is not the opposite of practice. In addition, each version of the .NET Framework includes bug fixes and security-related changes that may affect the compatibility of some applications and components.
If your application or component does not work as expected on .NET. Box 4, use the following Checklists.
For .NET Framework 2.0, 3.0, and 3.5 applications:
Check the migration of the .NET Framework 4 Questions for any changes that may affect your application and apply the workaround described.
If you recompile an existing source code for the .NET Framework 4, or if you are developing a new version of an application or component that targets the .NET Framework 4 from an existing source code base, check What is deprecated in the .NET Framework for obsolete types and members, and apply the described workaround. (Previously compiled code will continue to work against types and members marked as deprecated.)
If you determine that a change in the .NET Framework 4 has broken your application, check the runtime of the Settings Schema to determine if you can use the runtime settings in your application configuration file to restore the previous behavior.
If you encounter a problem that is not documented, the Microsoft Connect file error and contact netfxcf@microsoft.com with the error number.