In my production environment I have several Web applications installed in the same machine. These applications access various web services and two SQL Server databases this means that my web.config files are very big and full of details. Besides this I also have windows services that consume the same web services and access different databases and, again, I have big app.config files with lots of details. The entire solution was developed using .NET 3.5 (C#).
My problem begins when one of my four development team wants to deploy a new version of some part of solution and all configuration files need to be changed. Because my QA environment have different machine names from the production environment I can’t do a simple copy of configuration files I need manually change each one. And, no matter how many checks my colleagues do (even using check lists), some config is left unchanged and some part of the solution stops.
Is there a way to create a unique config file for all applications? Or, at least, centralize the data base connection strings and web services URL in a file to be used by all applications?
P.S.: I can’t change the deployment team because they belongs to my customer :(