The jump from .NET 1.1 to .NET 2.0 was a pretty significant one, as it involved changes such as new APIs and a new version of the CLR.
Why bring this up now? One, we know there are a lot of .NET 1.1 applications out there, so any programmers looking to migrate those applications will want to know which APIs made it into .NET 2.0 and which did not. Two, .NET 3.0 and 3.5 use the same APIs and the same CLR — remember, those upgrades focus primarily on new libraries and new programming language features like LINQ.
To that end Indian blogger cabhilash recently pointed folks to two rather helpful MSDN documents covering that which is obsolete in the .NET Framework 2.0.
The documents are .NET Framework V2.0 Obsolete Type/Member List (By Assembly) and .NET Framework V2.0 Obsolete Type/Member List (By Namespace). For each member or type, Microsoft provides a sentence or two explaining why it should not be used. There tend to be two general reasons for obsolescence — depreciation in Visual Studio 2005 or, simply, a better way of doing things in VS 2005. Either way, the lists are worth a look-see.