tags:

views:

1477

answers:

5

Ive recently been asked to recommend a .NET framework version to use in a (GUI based) project for an XP machine.

Can anyone explain the differences between all the .NET versions?

OR,

Does anyone have a good reference to a site that details (briefly) the differences?

+3  A: 

The short answer is that it depends.

.NET 2.0 is the oldest version you should be considering.

.NET 3.0 is an easy upgrade path from 2.0, not the same amount of breaking changes as from 1.1 to 2.0. However it is more of an extension, horizontally of functionality, and you would not see a huge shift in graphical options.

.NET 3.5 should be looked at if you are interested in much more sophisticated gui such as sliverlight. It has a lot more new technologies and options to offer including WPF, a new IDE in Expression and much more. http://www.asp.net would not be a bad start.

dove
+3  A: 

This page is good for a list of changes:

http://en.wikipedia.org/wiki/Microsoft_.NET

As someone has already mentioned, .NET 2.0 is the minimum version you need to look at. Things like Generics make it a must have.

.NET 3.5 is the other version you should consider. It depends on how you want to design your projects, .NET 2.0 is very developer central, whereas .net 3.5 has a good split between designer and developer.

Mark Ingram
+4  A: 

The only reason to not go for the latest version is that it can complicate deployment.

.NET 2.0 is installed automatically via Windows Update, so you can expect it to be on the target computer when your deploy your application. .NET 3.5 is not being pushed automatically yet, so you need to distribute the framework with your application. This will probably change in the near future.

If you are not concerned about deployment, then go for the latest version. The fact that you target the .NET 3.5 framework, does not mean that you have to use all the new technology. For instance you can still use Windows Forms instead of WPF, but that is another question.

Hallgrim
+3  A: 

Jon Skeet's book C# In Depth has one section describing versions of .NET in details.

Morgan Cheng
Well, to some extent :)Fortunately I also have a web page about it, which makes it accessible to more people: http://csharpindepth.com/Articles/Chapter1/Versions.aspxThanks for mentioning the book though :)
Jon Skeet
+2  A: 

It doesn't really matter much. .NET 2.0, 3.0 and 3.5 all use the exact same CLR and base classes. Each version just adds a set of new assemblies. For GUI development, you're fine with 2.0 if you use Windows Forms, you'll need 3.0 for WPF. Since they are otherwise essentially identical, there is no good reason to not just install 3.5 SP1.

Hans Passant