views:

1074

answers:

12
+15  Q: 

.NET 2.0 or 3.5?

Our clients use a vb6 version of our software.

We are upgrading them to a .NET application written in C#...

Is there less bulk using .net 2.0 than .net 3.5?

My definition of less bulk would be: Smaller size, smaller installation time, etc.

Most of them probably already have 2.0 anyway.

I only ask because I would like to take advantage of LINQ in 3.5.

+1  A: 

If you would like to take advantage of LINQ, then go for 3.5! I find there's not more 'bulk' when using it myself, but unless you want to use LINQ, then either is fine.

Shahin
You can take advantage of Linq in .NET 2.0 as well.
stephenbayer
http://weblogs.asp.net/fmarguerie/archive/2007/09/05/linq-support-on-net-2-0.aspx for reference, though I'd be wary of doing this myself :)
David Mohundro
+2  A: 

.NET 3.5 is .NET 2.0 + more libraries and extensions, so yes, the install is bigger. In my opinion however, it is very much worth the extra bulk because of the extra stuff it gives you.

swilliams
A: 

I would suggest that you go straight with visual studio 2008 and .net 3.5 sp1, 2.0 is the basis of 3.5 and you can easily start using 2.0 and then start to use 3.5 functionalities.

Furthermore 3.5 SP1 also brings tweaks to the 2.0 framework which are nice to have.

Alexandre Brisebois
+6  A: 
  1. Is not installing .NET 3.5 just to save a few Mb really that much more important that gaining a huge increase in productivity with LINQ and other .NET 3.5 features?

  2. Why start off behind in technology?

JTA
+2  A: 

The .Net 3.5 runtime is ~50Mb. The 2.0 runtime is ~23Mb.

But if you control the deployment or installation, that really shouldn't be an issue. This is especially true for 'clients' vs 'customers', and the word client involves and on-going, personal relationship. If it comes to it, send them a CD. Then anything under 700Mb is all the same.

Joel Coehoorn
+3  A: 

Check out LINQBridge: http://www.albahari.com/nutshell/linqbridge.aspx

Adding LINQ support to .net 2 (.net 3.5 still uses CLR 2.0).

+36  A: 

For taking advantage of LINQ, you need 3.5 (unless you want to use LINQBridge with 2.0).

For a smaller installer, .Net 3.5 Sp1 has a new feature called "Client Profile".

The .NET Framework Client Profile setup contains just those assemblies and files in the .NET Framework that are typically used for client application scenarios. For example: it includes Windows Forms, WPF, and WCF. It does not include ASP.NET and those libraries and components used primarily for server scenarios. We expect this setup package to be about 26MB in size, and it can be downloaded and installed much quicker than the full .NET Framework setup package.

Gulzar
Nice. I didn't know about this, but I'll probably be using it soon.
Joel Coehoorn
How do you make sure that at compile time your application is only using features of the Client Profile? Is there a way to define a project as targeting "3.5 Client Profile"?
AaronLS
There is a client profile target in Visual Studio, just look for the check box underneath the Target Framework combo box on the Application tab
John JJ Curtis
A: 

I suggest you to go directly to 3.5 because you will be less far away (in the future ... in 3-5 years) to change to other version of framework. If in 5 year .Net is at version 5, the jump will be smaller to do. So, VB6 to 3.5 is what I suggest you.

The size of the framework is not very high, less than 60 megs... not a big deal now I think.

Daok
A: 

Also note, depending were you install the .NET framework it might be irrelevant how much extra bulk there is. The .NET Framework installs are relatively small in modern terms.

As for LINQ, it will save you a lot of time and effort, and offers a quick way to get at data. However it also depends on the clients the application will be distributed out to.

I'd say at that, go with 3.5 unless there is another major roadblock on the clients for whatever reason.

Adron
+2  A: 

If it's a VB6 app, you should check which Windows versions the app is currently used on, and select the .Net version accordingly. AFAIK 3.5 does not run on W2K.

devio
I think WPF doesn't run on W2K. WindowsForms does, however.
Judah Himango
A: 

As others have pointed out, the .NET 3.5 install is longer and larger than .NET 2.0. Keep in mind that .NET 3.0 and .NET 3.5 are both extensions on top of the .NET 2.0 CLR.

I would still say upgrade from VB6 directly to .NET 3.5 (actually .NET 3.5 SP1) and VS2008, as long as your client operating systems support that version of the Framework (otherwise you will need to choose the lowest common Framework version, which very well may be .NET 2.0). You will save yourself a lot of time/effort in the long run.

Scott Dorman
If I had been in charge of version numbering, 3.0 would have been 2.5, and 3.5 would have been 2.5 bonus pack.
Joel Coehoorn
+1  A: 

Keep in mind that certain OSes (Windows 2000 Server) won't let you install .NET 3.0 or 3.5, so you may have to stick with 2.0 for that reason.

Joshua Carmody