The way I currently handle this is by having multiple config files such as:
web.config web.Prod.config web.QA.config web.Dev.config
When the project gets deployed to the different environments I just rename the corresponding file with the correct settings.
Anyone have suggestions on how to handle this better?
EDIT: Here are some of the things that change in each config:
- WCF Client Endpoint urls and security
- Custom Database configs
- Session connection strings
- log4net settings
Scott Gu had an article on this once. The solution he presented was to use a Pre-build event to copy the correct config into place depending on the build configuration chosen.
I also noticed that there already is a similar question here on SO.