Хорошо, лицом к лицу с неизбежным.В ASP.NET нет пользовательских настроек.Библиотеки классов, используемые в смешанных клиент-серверных средах, не должны их использовать!
Вот решение, на котором я закончил:
Для использования в серверной среде (ASP.NET) всех настроекбиблиотеки классов должны быть в области приложения.
Я ввел второй набор настроек для использования в клиентских средах (WPF).Эти параметры имеют имена и типы свойств, идентичные именам и типам свойств библиотек классов, но они могут различаться по объему, и они находятся в моей основной сборке.
Небольшой фрагмент кода расширяет класс настройки библиотекдля ввода пользовательских настроек.
namespace ClassLibrary.Properties
{
using System.Configuration;
public sealed partial class Settings {
private ApplicationSettingsBase injectedSettings;
public void InjectSettings(ApplicationSettingsBase settings)
{
injectedSettings = settings;
}
public override object this[string propertyName]
{
get
{
if (injectedSettings != null)
return injectedSettings[propertyName];
return base[propertyName];
}
set
{
base[propertyName] = value;
}
}
}
}
С этим расширением я могу добавить второй класс настроек в настройки библиотеки:
ClassLibrary.Properties.Default.InjectSettings(Application.Properties.Settings.Default);