I have two applications one a console application and the other an ASP.NET app. They both need to know the same appSettings and connectionStrings. So ideally I would like to
You can load configuration from an arbitrary location, but it won't be available via the static properties of ConfigurationManager:
Configuration myConfig = ConfigurationManager.OpenExeConfiguration(path)
(There is an overload that allows multuple files to be specified, to support default/user-roaming/user-local hierarchy.)
Losing the static properties means all the code needs to be aware of the different configuration.