Где он ищет файл конфигурации COM / WCF? - PullRequest
1 голос
/ 21 апреля 2011

У меня есть договоренность, в которой я заменяю устаревший код новым блестящим сервисом на основе WCF.

У меня есть dll (a.dll), которая вызывает заменяемую dll (b.dll)

b.dll использует вызов WCF для доступа к функциональности, предоставляемой моим приложением WCF, размещенным на IIS. (C) Я использую рукописный прокси-сервер для b ~ c, чтобы все было соответствующим образом убрано.

Проблема, с которой я сталкиваюсь, заключается в том, что при запуске моего тестового приложения, которое использует a.dll и, следовательно, b.dll, и c жалуется, что не может найти конфигурацию моей конечной точки.

Где он ищет файл конфигурации в этой ситуации? Я попытался создать b.dll.config.

Мне не нравится жесткий код, так как это одно из ключевых преимуществ WCF, его можно настроить через config и, следовательно, без перекомпиляции.

Ответы [ 3 ]

0 голосов
/ 17 ноября 2011

ОТВЕТ НА СЛЕДУЮЩУЮ: - В ОТНОШЕНИИ Я НЕ РАЗРЕШЕН ОТВЕТИТЬ НА МОЙ СОБСТВЕННЫЙ ВОПРОС ЗА 8 ЧАСОВ -

Здравствуйте,

Всем тем, кто следуетВ конце концов, я определил файл конфигурации, выполнив то, что предложил кто-то другой.

Procmon.Я добавил фильтр include-> path ->. Config

, и из этого я обнаружил, что, когда я запускал.dll в коде с использованием VB6 ide, он смотрел в

C: \ Program Files \ Microsoft Visual Studio \ VB98 \ VB6.exe.config

Сумасшедший, я знаю, как эта dll называлась моим собственным test.exe, и test.exe.config не работал.

Кроме того, он ищет файл только при создании экземпляра VB6.exe, поэтому изменения в нем (очевидно, я полагаю) требуют повторного использования ...

Я попробовал код, который, по-видимому, выведет местоположение конфигурации и 'бросил исключение "с этой информацией.Все эти пути были неправильными.

Теперь мне просто нужно выяснить, где он выглядит, когда a.dll не запускается в коде .... глубокие радости!

ОБНОВЛЕНИЕ: для завершения, когдаa.dll не запускается в коде, файл конфигурации - test.exe.config.

Это подтверждено.

Спасибо, ребята!

0 голосов
/ 19 сентября 2014

Чтобы добавить к другим решениям: пока он ищет странные места, когда вы запускаете его в коде, я обнаружил, что могу просто сделать myapp.exe, переименовать конфигурацию в myapp.exe.config, а затем запустить exe (т.е. не в иде) и он бы его нашел.

0 голосов
/ 21 апреля 2011

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

Вот где он ищет конфигурацию.

...