So I went to Microsoft’s Installfest and got a copy of Visual Studio 2008 which I installed on my desktop machine. Here are some of the things I found:
- Visual Studio 2008 updates the .csproj files when it loads a project. However, it can still be read by Visual Studio 2005 which means not all people in a team have to switch to the new version of VS at the same time. VS08 adds a ToolsVersion attribute to the Project tag as well as an OldToolsVersion tag and it updates the ProductVersion. VS05 ignores those changes. Adding new files to a project in either VS05 or VS08 doesn’t mess up the project for the other version. That’s great!
- Solutions are not compatible. VS08 will update the solution (.sln) file. This can’t be read by VS05. At least for us that’s not a big deal since our solutions are not under source control anyways and everyone creates his own with the projects he wants included.
- C++ project files are not compatible. That’s really a pitty. When you open a .vcproj file in VS08 it updates the project file. It adds two new tags and changes the version number to 9.0. VS05 ignores the two new tags, but it chokes at the unknown version number. It seems that it should be possible to patch the VS05 Dlls to make it work, but just changing the embedded schema in “Microsoft Visual Studio 8\VC\vcpackages\VCProjectEngine.dll” isn’t enough.
However, I think we can work around this problem if we make a copy of the .vcproj file for use with VS05 (or VS08). Since (almost) all our .vcproj files are just makefile projects (which means they aren’t changed very often) this should work.
- The Perforce SCC integration just showed up after installing VS08. Great!
- There’s an updated version of GhostDoc available that will install for VS08. However, if you have an older version of GhostDoc installed on VS05 you have to uninstall that first and get the newest version since there are some issues with side-by-side installation of the versions for 2005 and 2008 in older versions of GhostDoc.
- Add-ins for 2005 work without problem in 2008 if the .addin file lists version 9.0 as valid host application and if they are installed in the correct location. That meant I had to modify the .addin files for our addins and add a tag for 9.0. Additionally we had our add-ins installed under “My Documents\Visual Studio 2005\Addins” which of course doesn’t work with 2008. So I had to make some modifications to the installer – now we install them in “…All Users\Application Data\Microsoft\MSEnvShared\Addins” and so they work with both 2005 and 2008.
Not all things got better. One thing that I find really annoying:
- The Browse dialog that you can get when you add a new project or new item is missing the shortcut icons on the left side. In VS05 you got the standard file open dialog with shortcut icons to Desktop, My Projects and My Computer on the left. VS08 uses a Select Folder dialog that just shows the list of folders, but no shortcut icons. This makes it a little more tedious to navigate to the My Projects location if you currently work somewhere else.