Поместить информацию о конфигурации в DLL - PullRequest
9 голосов
/ 02 октября 2008

В моем проекте есть функциональность, которая используется как веб-приложение и как консольное приложение (запускается из планировщика задач). Для этого я поместил общий код в DLL, которая используется как веб-приложением, так и консольным приложением. Это отлично работает.

Однако, консоль и веб-приложения теперь имеют App.config и Web.config, которые в основном совпадают. Можно ли также поместить эту конфигурацию в DLL и сделать ее доступной для обоих приложений?

Ответы [ 4 ]

7 голосов
/ 02 октября 2008

Да, вы можете и должны поместить общие параметры конфигурации в файл конфигурации вашей DLL. Просто добавьте файл app.config в проект DLL и убедитесь, что вы прочитали параметры конфигурации изнутри DLL. После развертывания ваш файл конфигурации должен иметь имя «MyDLL.dll.config» (при условии, что ваша DLL называется «MyDLL.dll») и находиться в той же папке, что и DLL.

1 голос
/ 02 октября 2008

Я бы предложил перенести загрузку конфигурации в dll, а не всю конфигурацию, а затем вызывать ее из разных приложений. Это так, что:

  1. Вам не нужно перекомпилировать, чтобы изменить данные конфигурации (всегда полезно)
  2. Если вам понадобится снова разделить конфиг в будущем, это уже будет возможно с помощью dll.
0 голосов
/ 02 октября 2008

Предполагая, что вы используете .Net, вы можете настроить файл .settings для хранения ваших данных конфигурации - содержащиеся там данные будут сохранены в качестве значений по умолчанию для этих записей конфигурации, поэтому даже если файл app.config отсутствует, ваш приложение будет работать с этими настройками по умолчанию.

Я не говорю, что это хорошо ... 8)

Итак, если вы создаете проект, который ссылается на вашу DLL, вы добавите тот же файл .settings в этот проект, и эти настройки появятся в файле app.config для приложения, и DLL сможет читать эти значения , Если этих значений нет в app.config, dll будет использовать значения по умолчанию.

Большинство людей подумают, что это плохо, и я склонен согласиться, но вы здесь.

0 голосов
/ 02 октября 2008

вы можете поместить общую конфигурацию в реестр Windows, доступный где угодно

...