Since 2.0, Microsoft has engaged in random "experiments" with the .NET framework, taking it in random directions then killing those projects off and starting again. XAML/WPF is the best example, where Microsoft begged the world to stop using System.Windows.Forms (standard Windows widgets/controls) and to switch over to vector-based XAML/WPF where each project needs a developer + a completely separate designer to have any chance of making a half-decent looking project.
Some developers (myself included) never made the switch - good call, because today WPF is dead thanks to a) it was a stupid call in the first place and b) it was very badly implemented, introducing incredible lag, requiring lots of memory, and generally resulting in a bad user experience.
Their other problem is with distribution/versioning. New versions of .NET tend to be released a month or so after new versions of Windows - meaning you'll never get Windows shipping out of the box with the latest version of .NET. While backwards compatibility is preserved (i.e. .NET 3.5 will run .NET 2.0 apps), it's very subtly broken as you'll find that a .NET 2.0 app compiled with VS2010 will actually not run on an actual .NET 2.0 distribution because no one bothered to check if the same method signatures existed for certain functions and whatnot.
Now the new challenge is Windows 8: first, Microsoft seems to be leaving .NET entirely pushing their new Metro toolkit and WinRT as the preferred routes of development. IMHO this will be a complete failure as it leaves behind both the .NET developers AND the traditional, hard-core WIN32 developers in an attempt at a "clean slate" that no one actually wants.
Even worse, .NET 4.0 in Windows 8 breaks all that backwards compatibility. Out of the box, it will not run apps compiled for .NET 3.5 and below - all .NET apps need to be recompiled to run on .NET 4, or the user will need to install .NET 3.5.
Footnote: Unfortunately, Microsoft's other good feature for .NET, Linq, was introduced in v3.5 of the .NET Framework. If you're targeting Framework 2.0, this is the one good feature you'll miss out on.