I´ve started using application configurations in C# for almost everything I write.
It´s standard, has good integration and classes all fixed up for you.
However, I´ve found one problem. When testing or otherwise having the need for several different configuration files the ConfigurationManager lacks a method to open any named configurationfile.
You would think:
ConfigurationManager.OpenExeConfiguration("myConfigFile.config");
would work but then you will need an exe that maps to the configuration.
I found this thread that makes use of an ExeConfigurationFileMap to solve this, superb!
var map = new ExeConfigurationFileMap { ExeConfigFilename = "myConfig.conf" };
config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
This way we can open any configuration file regardless of name or exe presence.