Как ConfigurationManager объединяет или создает конфигурации для ссылочного проекта?

Предположим, у меня есть проект библиотеки классов C# с app.config файл, и я ссылаюсь на него ASP.NET проект, который имеет web.config файл. Предположим, у меня есть ключ в моем web.configAppSettings называется SmtpServerHostname, Если мне нужно SmtpServerHostname в моей библиотеке классов, на которую есть ссылка, как мне справиться с настройкой файлов конфигурации? В частности,

  1. Если я не определю SmtpServerHostname введите в мою библиотеку классов, будет ли это "пройти", потому что на него ссылается другой проект, где он определен?
  2. Если я определю ключ в моей библиотеке классов, какой из них будет иметь приоритет?
  3. В настоящее время я использую web.config трансформируется при публикации моего приложения. Можно ли преобразовать app.config файл аналогично?

1 ответ

Это не работает таким образом. Там нет слияния. В приложении ASP.NET параметры app.config (или library.dll.config) не будут использоваться никоим образом. Вы должны установить web.config для настроек, которые вы хотите видеть приложением ASP.NET.

Это дубликат, но я отвечу до тех пор, пока я или кто-либо другой не сможем правильно закрыть его как дубликат.