I got to understand the relationships between the various .NET versions (1.1, 2.0, 3.0, 3.5) through the project I am currently working on. It all comes down to the CLR version. I could elaborate in my own words, but I won’t because I am lazy and that I just found a nicer article that lays it out in pretty pictures.