У меня есть некоторый код в библиотеке классов, созданный для целевого профиля клиента .Net Framework 4. Код получает доступ к конфигурации приложений-потребителей. Для клиентских приложений (приложений WinForms, консольных приложений и т. Д.) Получить нужный объект для App.Config очень просто:
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
Моя библиотека классов также должна работать для веб-приложений. Правильный способ получить доступ к Web.Config также прост:
WebConfigurationManager.OpenWebConfiguration("~");
Проблема в том, что WebConfigurationManager является частью System.Web, который недоступен как часть клиентского профиля .Net Framework 4.
Есть ли способ, которым я могу написать свой код или структурировать свой проект так, чтобы он работал в обоих случаях? Он должен работать достаточно хорошо для доступа к app.config в системах, в которых установлен только профиль клиента. Также необходимо иметь доступ к web.config при необходимости. Возможно, есть какой-то способ, которым я могу динамически загрузить system.web или другую сборку, когда она доступна и когда это необходимо?