I am into new desktop app development. I feel at home with .NET 2.0 and c#. I guess I don't need linq, nor care for WPF and other Vista-oid fancy keywords. I also like rather tight and slim 2.0 redistributable, even more for reason it's Vista and 7 included.
If you don't need LINQ, don't want WPF (or WCF), and don't like the extended use of generics, the simple answer is: don't do it!
However once you have used just one of the above features of 3.5 you will wonder how you ever did without. The real reason to move to 3.5 is to get the benefit of these features.
So if you are completely happy with 2.0, and have never said "I wish I could just... xyz", I suggest you stay where you are.
If you don;t need to use any of the 3.5 features, then don't worry, it is just an addition of new Framework Libraries, the CLR and CLI havn't changed, thus everything you write, be it using framework libraries from version 2.0, 3.0 or 3.5 all ends up as the same IL code. Knowing this, if at some point in the future you decide you do want to add some 3.5 functionality to you application, you can do so with the knowledge that there will be no migration pains (ike the upgrade from 1.1 to 2.0) as all you're really doing is telling Visual Studio to "let you add the 3.0/3.5 dlls" to your project. Of course you will have to make sure your users have .net 3.0/3.5 installed.
It seems like every app needs to communicate with other apps now. So,
WCF
Having written a TCP communication library in the past, I would have been thrilled, overjoyed, ecstatic, and otherwise quite happy if I had been able to save those months by spending 1 day with WCF.
One reason not to use 3.5 is Mono.
Taken from here.
Another reason is that Winforms hasn't moved forward hardly at all, so you may want to wait until 4.whatever comes out before jumping.
My understanding is that some stuff, like LINQ, can be used just fine with .Net 2.0, since it's just a Library.
If you don't need LINQ, don't want WPF (or WCF), and don't like the extended use of generics, the simple answer is: don't do it!
However once you have used just one of the above features of 3.5 you will wonder how you ever did without. The real reason to move to 3.5 is to get the benefit of these features.
So if you are completely happy with 2.0, and have never said "I wish I could just... xyz", I suggest you stay where you are.
Read this blog http://weblogs.asp.net/scottgu/archive/2007/11/19/visual-studio-2008-and-net-3-5-released.aspx
From here you will get better idea on .Net 3.5 and VS 2008.
Why the higher version is coming is that,higher version is having easy for development and also having high performance :)
I would upgrade just for lambdas!
If you don;t need to use any of the 3.5 features, then don't worry, it is just an addition of new Framework Libraries, the CLR and CLI havn't changed, thus everything you write, be it using framework libraries from version 2.0, 3.0 or 3.5 all ends up as the same IL code. Knowing this, if at some point in the future you decide you do want to add some 3.5 functionality to you application, you can do so with the knowledge that there will be no migration pains (ike the upgrade from 1.1 to 2.0) as all you're really doing is telling Visual Studio to "let you add the 3.0/3.5 dlls" to your project. Of course you will have to make sure your users have .net 3.0/3.5 installed.
It seems like every app needs to communicate with other apps now. So,
Having written a TCP communication library in the past, I would have been thrilled, overjoyed, ecstatic, and otherwise quite happy if I had been able to save those months by spending 1 day with WCF.