vs2005 - vs2008

Topics: SharpMap Project, SharpMap v0.9 / v1.x
Feb 9, 2008 at 4:17 PM
We are now working with two solution and project types of visual studio in the Trunk. These two could easily get out of sync. How to deal with this? Some options:

1) Just remove the vs2005 version. Disadvantage: Not everyone has vs2008. The c# express edition does not support web pages and solution subfolders, so that is not a real alternative.

2) Remove the vs2005 version but try to be compatible with the Express Editions. Don't use subfolders in the solution and maybe the DemoWebSite project could be compiled with the Web Express edition.

3) Keep both and just keep it in sync.

4) only work with vs2005 :(

Feb 9, 2008 at 5:44 PM
You cannot restrict the use of the project because people do not have the latest and greatest, bearing in mind the vs2008 is not fully released until the end of the month, and people are not necessarily going to upgrade striaght away. In the same vain, some people have just got machines with vs2008 and you cannot kick them out either! The best solution that will cater with everybodies requirements is to support both versions, yes its a bit of a pain, but the project has supported 2 versons for some time now, so whats the problem!
Feb 11, 2008 at 2:30 PM
Edited Feb 11, 2008 at 2:49 PM
but what about option 2? C# express is a free download available for everyone, even to those that do not have vs2005. Everyone could alter and build SharpMap. Debugging from a vs2005 project would be problematic though, not sure how/if that would work.

SharpDevelop might also be an alternative http://www.sharpdevelop.com/OpenSource/SD/
Feb 11, 2008 at 3:56 PM
Would a variation on #3 be acceptable ? pick a mainstream tool that is used by most of the user base and gaurantee that one as working out of the box and then maintain branches with versions of the code that are compilable outside that mainstream. If there is a need to get the code working in a particular environment, the branch can be ported to the current version by someone using the tool.

VS2005 has version 2.21 support
VS2008 has verisoin 2.00 support
VSWeb Express has 0.9 support
C# Express has 2.21 support

My interests would probably want me keeping the vs2005 version alive and the web express version viable. I for one will probably not jump to 2008 at work before end of year due to budget and tool chain compatibility issues. That, doesn't, however mean that I wouldnt appreciate someone maintaining 2008 support for when I do make the jump :)

Feb 12, 2008 at 7:13 PM
Interesting thread... It's good to see what sort of needs are out there, since it makes it easier to know what to support.

What I'm currently trying, and what appeared to be mostly successful at my employment, where I was running VS2008 B2 and others were running VS2005 is to keep the same project files and just maintain two solution files. It's really not too hard to do, since the solution files just reference the project files, and the references don't change very often.

The reason this works is that the 'csproj' file is just an MSBuild script, and VS ignores the tags which it can't parse. VS2008 just adds some tags and some attributes, and VS2005 runs them as if nothing is different, apparently. Of course, my sample size wasn't very large, and there could be some compatibility problems, but this is what I'm running with on the v2.0 branches over on Google Code.

I currently only plan on having VS2005 and VS2008 solution files. If there is a great demand for SharpDevelop or another IDE (Eclipse .Net?), and someone provides a solution file and project files in a patch, we can include them in the source tree.