У меня есть проект WinForm, который содержит несколько пользовательских элементов управления.Этот проект WinForm имеет ссылку на сборку (назовем ее lib.dll
), созданную из другого проекта (библиотеки классов), который существует в другом решении.
Теперь некоторые из UserControls
делают вызовы в lib.dll
, которые возвращают значения из файла app.config
.Во время выполнения lib.dll
работает нормально и возвращает необходимые данные, но во время разработки я получаю исключение из lib.dll
, потому что секции app.config
равны NULL
(исключения являются проектными).
Теперь я могу пройти через каждый элемент управления и обернуть любой код, который вызывает lib, с помощью
if(!DesignMode) { //code }
Но это много элементов управления, к которым можно применить это.Могу ли я сделать что-то глобально, что было бы более элегантно, чем тестирование свойства DesignMode?
Редактировать
В ответ на два оставленных комментария: предоставленные решения нене похоже на работу.Сборка, которая вызывает у меня проблему, находится в том же каталоге, что и app.config.Общая структура каталогов выглядит следующим образом:
- Справочная папка
- Конфигурации (папка)
- appsettings.config
- app.config
- lib.dll
app.config
извлекает несколько других файлов конфигурации (appsettings
, cnx
строки и т. Д.), Которые находятся в каталоге Configurations.В случае моего исключения значение, которое я пытаюсь получить, находится в одном из этих вспомогательных файлов конфигурации, на который ссылается app.config
.