views:

222

answers:

9

We have a team on vs 2005. We want to upgrade to vs 2008 but want to do it incrementally. If we have a few folks on the team upgrade to 2008 (still targetting the 2.0 framework) while others working on the same solutions stay on vs 2005, would this cause any issues .

  • Do solution or project files change due to this?
  • Are there any backward compatibility issues to deal with or other conflicts that is going to force a big bang upgrade for the team?
+3  A: 

Won't work. 2k8 upgrades your solutions.


Let me qualify that. Solutions, once upgraded, can't be opened in 2005. I believe individual projects can be.

So, one solution might be to make a copy of the solution, call it project.2005.sln, then upgrade the original solution and call it project.2008.sln.

I don't have 2k5 on my box, so I can't test this. It would be simple and, as long as you check in fully beforehand, non-destructive to test this.

Will
+6  A: 

Why do you want to upgrade incrementatlly? You can still target .NET 2.0 while working with Visual Studio 2008.

John Saunders
Yes, there is actually no more reason to use VS 2005.
0xA3
Probably because of money concerns.
Will
@Will: I wouldn't want to call them cheap without knowing them better. They may understand "penny wise but pound foolish".
John Saunders
I can't speak for the OP, but I work for an organization that buys Visual Studio licenses by the 1000s. For us, upgrading everyone at once, in one finacial year, would be a real budget buster.
chyne
A: 

As far as I know it is the solution file (*.sln) that is changed when upgrading to VS 2008, not the project files .csproj/.vbproj. So you can use both IDE's for the same gode if you have different .sln files.

idstam
No. The project files are changed, slightly.
John Saunders
+1  A: 

You could achieve this by renaming all of the solution/project files (leaving the actual source alone) - then members of your team can load the version appropriate to them.

Rowland Shaw
This might be the best solution.
Will
A: 

Partly possible but must be carefull.

  • Need a version control system (and build server with 2005/2008 based config)
  • Separate solution and project files based on VS.NET version. Everybody should open just corresponding .sln van .proj files. (Some hints about project file changes: .NET 2.0 Project in VS.NET 2005 != .NET 2.0 Project in VS.NET 2008)
  • It's possible to commit common C#/VB.NET source files, XML files. Other files - lets say .resx - can causes pain.

I think it's more easier to switch all projects to VS.NET 2008.

One note to VS.NET 2088: we have strange experiences with WinForms designer and had some after-build freezing.

boj
I think most people using VS2008 have not had the same problems. Are you using VS2008 SP1?
John Saunders
Yes. Maybe it's cause of a software factory (SCSF and WCSF used) or something else. It's weird but sometimes VS.NET waits, just waits and just waits.
boj
+1  A: 

For C#, the project files are almost identical (different version number, new target platform property). VS2008 however will always try to "convert" the old VS2005 files, while VS2005 refuses to open the new files. Therefore, a mixed environment is not very practical.

Lucero
+1  A: 

What we do with mixed VS versions is create the solution in 2005, with all the project's set up. Then check that into SourceSafe (or whatever you use). Then the users with VS2008 upgrades the solution locally on his machine, then undoes the check-out VS2008 does when it upgrades the solution and everyone can then work on that project at the same time, as long as no changes are made to the solution file!

weiran
This also requires that no changes be made to the project file.
John Saunders
A: 

We've been doing exactly what you want to do for about 6 months now.

Our experience has been limited to Web Application, Class Library and basic WinForms projects. But we've had no issues with developers split between 2005 and 2008.

You will need two seperate solution files (one for 2005 and one for 2008) but they differ only in that one contains the string "9.0" and the other "10.0".

The project files will be modified by 2008, however it basically only adds new attributes which are ignored by 2005.

2008 Project files ARE compatible with 2005, in my experience. 2008 Solution files are not, but creating a compatible copy is a simple task of replacing the "9.0" with "10.0" or vice versa.

If you are dealing with Web Application projects, there is one additional change you should make to the project file so it is compatible with both version.

See my answers here and here for details.

chyne
A: 

go for the big bang, 2008 rocks compared to 2005. I have no problems found whatsoever with converting projects.

Mafti
what rocks about it that makes it such a no brainer
ooo