Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

At work we have a few older projects that are stuck on .NET 1.1 and VS 2003. While these are probably to much work now to move forward I'm wondering if the effort to keep our newer projects up to date will be worth it. Specifically we would be looking at moving about 30 projects from .NET 3.5 to .NET 4.0 and VS2008 to VS2010.

My Questions for the community are:

Do you move your projects along as new tools and libraries become available or just start the newest stuff in the newest versions?

If you do move forward have you found the benefits out weigh the cost of the upgrade?

share|improve this question
add comment

4 Answers

up vote 1 down vote accepted

We have about 30 small and medium sized projects, and generally take the approach that we migrate projects when we do non-trivial work on them. Occasionally, we undertake a consolidation exercise to move the oldest projects to the latest versions.

Of course, this means that our dev environments have multiple versions of Visual Studio, the .Net framework, SQL Server, IIS, Source Control, browser, etc.

Despite having to keep all these different tools up to date, this ad hoc approach actually works quite well.

Migrations that usually go very wel:

  • Visual Studio Versions (but see below)
  • Core SQL Server functions
  • .Net Versions
  • Source control (from VSS to Vault)

We don't usually migrate between languages unless the application is trivial.

Migrations that have been problematic:

  • DTS to SSIS
  • Reporting Servives. Different versions of SSRS are supported by different versions of Visual Studio.
share|improve this answer
add comment

I would definitely upgrade an ASP.NET 1.1 or 2.0 project if I needed to make significant changes to it.

If it's just puttering along, needing no work other than the odd copy change, leave it be. But it you have to add any real new functionality, it's worth doing the upgrade.

I've not encountered any problems that took more than minor effort to fix. Now, I'll concede that I haven't upgraded any massively complex projects from 1.1, only simple ones. But I've upgraded big sites from 2.0 to 3.5 (admittedly not a huge change between those two versions) without issue. And found it well worth doing so, if only to get access to LINQ when writing new functionality.

I wouldn't consider upgrading a 3.5 project to 4.0 just for the sake of doing so. Only if you really need or want something from the 4.0 framework.

As for Visual Studio versions, absolutely. We work in VS2010. I upgrade any project or solution that was last saved in an older version. I've never seen any issues upgrading the solution file to a newer Visual Studio.

share|improve this answer
    
Thanks. The oldest .NET 1.1 project is massive and financially critical to the company. –  Mike Dec 3 '10 at 17:21
add comment

Tricky question, because there are a lot of factors at play.

On the one hand, keeping current will make your life much better in the long run. Eventually hardware and operating systems will outrun your code libraries, and you'll either have to do a huge upgrade, under pressure, or you'll have to deploy some evil kludge environment.

On the other hand, spending a lot of time updating existing code will make your deliverables look like crap. In the business world, you seldom get credit for things not breaking, and, ironically, you often get credit for fixing things that only broke because you neglected them.

I say use your judgment. Keep mission critical stuff up to date, and let older, less relevant code fall by the wayside.

share|improve this answer
    
yeah, just keep copies of the tools too! One reason to not 'lease' or otherwise use hosted services for your dev tools. –  MIA Dec 4 '10 at 1:23
add comment

There are two types of upgrade to consider here:

  • Upgrading the solution to a different version of studio
  • re-factoring the solution to run on a newer framework

In the later versions of visual studio you can upgrade the solution to VS10 and still target a previous framework. I do this frequently as I don't enjoy having every single version of the IDE on my main box. On most projects this upgrade is done correctly through the wizard that you get if you open an older studio solution in the newer studio. I do this as soon as everyone has installed and is comfortable with a higher version generally.

Re-factoring to take advantage of the newer framework is more tricky and I would not necessarily do it unless I was undertaking a significant change already as there are often many adjustments that have to be made manually after the change in target.

share|improve this answer
    
Just note that if you need a Crystal Reports production release, VS2010 won't support Crystal from VS2008. Yes, I found this out the hard way :( –  HardCode Dec 3 '10 at 18:39
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.