We have some applications that are being worked upon in .Net 2.0 since long back. I'm recommending my team to move the base from .net 2.0 to .net 3.5sp1 and focus and leverage from C# 3.0 but I'm facing difficulties in doing so. What are the implications of not migrating to .net 3.5 and C# 3.0 ? What are your experiences on this front and what tactics did you use to successfully migrate your team and projects to .net3.5.
Recent SO question: What is the best approach upgrading from .NET 2 to 3.5?
There really isn't too much implications with staying in .NET 2.0 land, other than missing out on some improved framework additions liek LINQ to SQL, LINQ to Objects, WCF, WPF etc...
Plus some fun syntax features like anonymous methods, lambda expressions, and extension methods.
Moving to .NET 3.5 is really straight forward. Hats off to the team at MSFT. They made the process very painless.
I'd do a two-step migration. First I'd migrate to C# 3.0, while sticking with .NET 2.0. You get most of the benefits of C# 3.0 (including LINQ to Objects via LINQBridge). Once the developers have shifted their mindset to that of LINQ and lambda expressions, fallen in love with extension methods, beautified their code with automatic properties and got hooked on the rest of C# 3.0 features, I'd migrate the application to the .NET Frameworks 3.5 SP1 (which should be effortless, like others have mentioned).