Показать сообщение отдельно
Старый 19.11.2019, 12:11   #35  
Damn is offline
Damn
Участник
 
436 / 154 (6) ++++++
Регистрация: 28.05.2003
Адрес: в глуши
Подытожим немного.

При штатном формировании референсов (без поддержки Framework 4.5) система при обращении к dll ищет app.config в папке, где лежит dl.
Поиск файла app.config происходит при вызове new SoapClient(). Потому что штатная dll не позволяет при инициализации soapclient передавать в конструктор биндинги и эндпойнты.

С поддержкой 4.5 начинаются проблемы. Сгенерённая dll при инициализации soapclient ищет для себя app.config в каталоге, где расположено вызвавшее её приложение (папка Bin аоса).
Если сгенерить dll нештатно, то при инициализации soapClient появляется возможность самостоятельно создать биндинги и эндпойнты, чтобы исключить попытки поиска файла app.config.

Ваш пример навёл меня на мысли, что возможно алгоритм поиска app.config зависит от конкретной версии Framework в Windows.
Например, если сгенерить dll на сервере с Framework 4.5, то app.config будет искаться в папке dll. А если сгенерить dll на сервере с версией 4.6+ , то app.config будет искаться в папке Bin.
К сожалению, не могу проверить это. У меня минимальная версия фрэймворка на серверах - 4.7.
__________________
Дмитрий