Я знаю, что этот пост немного староват, но я хотел добавить свои 2 цента. Хотя в некоторых случаях я бы согласился, что приложение должно предоставлять настройки, а не dll. Я обнаружил одну ситуацию, в то время как специфичные для dll конфиги кажутся более желательными.
Мы используем приложение для составления графиков / задач Quartz.NET. Мы разработали интерфейс для создания и мониторинга заданий на сервере Quartz. Одна из замечательных особенностей Quartz.NET заключается в том, что вы создаете свои «рабочие» программы и компилируете их в библиотеки DLL, а затем просто помещаете их в папку сервера Quartz.NET, и с помощью рефлексии и тому подобного Quartz может начать использовать новую DLL без каких-либо дополнительных настроек для сервера Quartz ... если нет информации, которую нужно хранить в конфигурационных файлах.
В случае сервера Quartz, если у вас есть какая-либо конкретная информация о конфигурации, которая должна храниться в файле конфигурации, вы должны поместить ее в файл конфигурации Quartz.NET. Мы создали несколько «рабочих» приложений, каждое из которых имеет свои биты информации о конфигурации, поэтому теперь наш конфигурационный файл Quartz.NET изобилует всеми этими несвязанными настройками. Наличие специфичного для DLL файла конфигурации значительно уменьшит беспорядок на сервере Quartz.NET. Единственный другой вариант, который я вижу, - это добавить все эти индивидуальные настройки в таблицу БД настроек, но для консолидации и обслуживания кода для наших целей предпочтительны отдельные файлы конфигурации.
Просто выбросить это, чтобы подумать.