Hmm. Guess I'm not the only one with a mess like this to clean up.
I don't have a very useful answer for you, but here's the strategy we came up with. It goes beyond your question, but hopefully it answers questions you haven't thought to ask yet. The task before you is huge, and I'd like to give you as many tips as I can on the whole process, not just the connection strings.
- completely reorganize our source code
- Completely reorganize the file structure on our web
- fix code as we need to modify it, rather than attempt to do it all at once as a big project.
- make it a stated objective to convert classic asp to asp.net (and got buy-in from our manager by justifying the project with labor savings via quicker development/maintenance.)
- created and documented standards for storing connection strings, common files, shared CSS files, etc.
- as a part of our reorganization, we have a global shared folder that we can reference from any of our projects. This contains common images, CSS, etc that is used across multiple individual project web sites, etc.
- we also specified that every web site will have a common folder with a CSS, script, and img sub-folder so that every project we work on is consistent.
- once we got our first web app re-write completed, we created a project template to make starting a new web site project very simple.
As a side effect of all the work we've done, we've gone through two upgrades in Visual Studio very painlessly simply by using the Conversion wizards. Going from VS 2003 to VS 2005, and then to VS2008 was painless.
Also, our choice in source control was made based on how we wanted to fix the mess. We were using TFS, but were limited by the relationship between TFS projects and VS solutions. We found that using Subversion allowed us greater flexibility than TFS, so we were able to lay out our source code directory structure in a much more manageable way than TFS would have allowed.