Almost five months ago, I wrote that "Microsoft screwed up big for customer confusion" with the whole .NET 3.0 naming thing. I got a few defensive comments about how the whole effort was great. Well, let's see. Today I read a post from a member of the Microsoft Architecture Editorial Board (whatever that exactly is). You know it is not going well when the post starts out with, "There has been considerable confusion about the differences between various versions of the .NET framework."
My point exactly. It was an implied contract that (.NET Version) == (CLR Version). Now that they broke that implied contract and completely screwed up the explanations, they have mea culpa posts continuing to flow, even after five months have passed. It is difficult to explain yourself out of a marketing ploy that is counter intuitive.
Want more pretzel logic? Check this out.

Yes, the current plan is to keep CLR 2.0 for a long time and just keep gluing on additional bits. Will we be ending up with .NET 3.5 based on CLR 2.0 and be using C# 3.0? Kinda looks like it. Great ready for the Java versioning disaster to arrive in a .NET Framework near you soon!
Addendum: My take is that "Fx 3.0" should have been Version 2.1. "Fx 3.5" should be Version 2.2 (or 2.5 at best). Microsoft has dumped the minor versions of most everything and is stuck with must-major-version-everything-itis.