One very cool new feature which will debut in the next (and final) CTP of Enterprise Library 3.0 is something we call “Environmental Overrides”. In short this feature makes it much easier to manage configuration files for applications that are deployed to multiple environments (such as dev, test, staging, production etc). Typically the application’s configuration settings will be almost the same in each environment – but with a few important differences such as connection strings or logging thresholds. Making sure you have consistency where you want it, and environment-specific differences when you need them, is often tricky. The Environmental Overrides feature provides a solution by letting you define a master configuration file, as well as a number of per-environment delta files. The master can be merged with each delta file at design-time to produce an environment-specific configuration file.
Rather than give a detailed description of this here, I’ll point you to Olaf Conijn’s post that gives a lot more detail, complete with pretty pictures. Olaf originially came up with this concept a number of years ago and built some community extensions to Enterprise Library 1.x and 2.0 that provided similar functionality – but we’re very excited to have him on the team so we can finally get this feature built right into the tool. This feature will be in the February 2007 CTP which should be out – you guessed it – before the end of February!