Доброго времени суток.
Ситуация следующая: есть библиотека типов(написана на С#,VS2003), которая регистрируется как COM-объект. Хостовое приложение: Rational Rose 2002 — при запуске на основе настроек использует эту библиотеку типов для генерации кода.
Для отладки библиотеки в VS2003 использую соответсвующую опцию — где указал хостовое приложение для отладки. По F5 стартует Rose 2002, и проставив точки останова выполняю отладку своей DLL.
Проблема: пока на машине стоял .NET 1.1 все по такому сценарию и происходило. После установки .NET 2.0(потребовался для работы клиентской консоли MS SQL Server 2005) запуск отладки по F5 в VS2003 без всяких исключений завершается. Знаменательно, что при установленном .NET 2.0
— компиляция проходит успешно
— запуск Rose 2002 отдельным приложением не из VS2003 так же проходит успешно, DLL нормально подхватывается и исполняется
При установленном .NET 2.0 в VS2003 не удается отладить DLL: видно как по F5 ситартует Rose 2002, и тут же завершается.
Что делал: убедился, что если оставить на машине только .NET 1.1 то все работает, с появлением установленного .NET 2.0 трабл повторяется.
Подозрения:
— версия А: Rose 2002 завершается при инициализации COM-объекта... может при инициализации каким-то боком используется .NET 2.0, а не 1.1? как проверить?
— версия B: при установке .NET 2.0 меняются какие-то настроки среды разрыботки, из-за которых инициализация для отладки проходит криво... как проверить?
Дайте совет. Какие еще могут варианты и как поступить?
11.01.06 17:52: Перенесено модератором из '.NET' — TK
> при инициализации COM-объекта... может при инициализации каким-то боком используется .NET 2.0, а не 1.1? как проверить?
Для инициализации COM-объектов написанных под .NET используется system32\mscoree.dll
Надо смотреть версию этого файла. Если установлен .NET 2.0, то версия mscoree.dll — 2.0....
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение