Просто поместите ваши настройки в файл App.config и прочитайте их из вашей dll.На самом деле я считаю, что это единственное место, где ваша dll будет искать настройки / конфигурации, локальная конфигурация для dll игнорируется.
Вот краткий пример того, что dll не имеет сильных ссылок на приложение.Этот код не очень хорош, но вы поняли.
private string GetSettingValue(string key)
{
string executingAssembly = Assembly.GetEntryAssembly().GetName().Name;
string sectionName = "applicationSettings/" + executingAssembly
+ ".Properties.Settings";
ClientSettingsSection section =
(ClientSettingsSection)ConfigurationManager.GetSection(sectionName);
// add null checking etc
SettingElement setting = section.Settings.Get(key);
return setting.Value.ValueXml.InnerText;
}
В качестве альтернативы есть общий dll
с общими настройками и получение зависимости от каждой сборки, которой необходимо предоставить общий доступ к конфигурации.Это намного чище.