Breaking Changes in .NET Framework 2.0
Breaking changes are changes in either the .NET Framework (runtime breaking changes) or Visual Studio (design/compile/project upgrade) that make certain application and development scenarios behave differently from the version 1.0 and 1.1 .NET Frameworks to the 2.0 version. These are not necessarily changes that we have found to be breaking an application; rather, these are changes in behavior discovered during design review and testing that could potentially impact an application. Indeed, in all of our application compatibility testing, fewer than 30 of these have been found to impact an application.
Run-time changes can be classified into two categories: The first is an API-breaking change where the signature of a function changed or a function was removed. In almost all cases these changes were made due to security concerns. The second, more common type of breaking change is a behavior-breaking change where the behavior of a method changed. Examples of this type of change include changing the exception thrown due to a particular error and changing the precision of floating point operations.
All known breaking changes in the .NET Framework 2.0 have been reviewed in detail. Breaking changes were made for a number of reasons, including standards compliance, customer feedback, and correctness. We have attempted to be exhaustive in documenting changes in the attached file, but believe that many of these changes will impact very few users. An example of several of the types of run-time changes follows:
Follow these links to review design-time and run-time breaking changes: