2013-05-01 3 views
0

У меня есть несколько вопросов относительно компонента .NET COM.Отладка .NET Компонент COM

В основном я разрабатываю .NET COM-сервер (.DLL) для поддержки нашей унаследованной системы, идея - это устаревшая система, вызывающая метод COM-сервера, .NET COM-код intern вызывает наши услуги Hosted WCF.

Первоначально я разработал компонент .NET COM (.DLL) с базовыми функциями (без вызова служб WCF), написал VB-Script для доступа к COM-методам, все работает нормально.

Для служб WCF, информации, связанной конфигурации хранятся в файле app.config, но я не вижу файл app.config загружается в приложение-домен

1), как загрузить файл app.config для .NET COM сервер

2) как отлаживать .NET COM-компонент

Спасибо заранее.

+0

Является ли это COM-сервером вне процесса (.exe) или встроенным COM-сервером (.DLL)? –

+0

Посмотрите мой ответ http://stackoverflow.com/a/4535028 на способ загрузки app.config для COM-сервера. – adrianm

+0

Что касается отладки части вашего вопроса, вы можете, для отладки, поместить вызов Debugger.Break (http://stackoverflow.com/a/4733789/284111) в свой код, а затем, когда ударить, разрешить Visual Studio присоединяться к обработать. –

ответ

4

Для служб WCF, информации, связанной с конфигурацией хранится в app.config

Это утверждение проблемы. Это не так, оно хранится в файле foo.exe.config. Где «foo.exe» было названием вашей тестовой программы. Но это уже не так. Теперь .exe, который запускает ваш код, является интерпретатором сценария. Чтобы вернуть конфигурацию, вам нужно переименовать файл .config в wscript.exe.config и скопировать его в c: \ windows \ system32. Или c: \ windows \ syswow64, это зависит. Или cscript.exe.config, это зависит. Вы можете использовать диспетчер задач, чтобы узнать, какой EXE запускает скрипт, при необходимости используйте MsgBox, чтобы он работал достаточно долго.

Это, конечно, хрупкое и не ремонтируемое, особенно если вы не первый программист с этой проблемой, которая попала на эту машину. Вы перезапишите чужой файл .config и сломаете его код.

Уродливая проблема. Вам нужно указать configure your WCF services in code вместо файла .config для реального исправления.

Смежные вопросы