Проблема с .NET 2.0
От: kapusta1980  
Дата: 11.01.06 13:15
Оценка:
Доброго времени суток.

Ситуация следующая: есть библиотека типов(написана на С#,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
Re: Проблема с .NET 2.0
От: mihailik Украина  
Дата: 11.01.06 14:02
Оценка:
K>Проблема: пока на машине стоял .NET 1.1 все по такому сценарию и происходило. После установки .NET 2.0

Всё правильно. COM-приложения по умолчанию загружают последнюю существующую версию .NET Framework. То есть вторую.

А Visual Studio 2003 не может отлаживать второй дотнет.


Есть три выхода:

1. Написать Rational.exe.config, в ктором прописать, что для этого приложения всегда нужно использовать .NET 1.1
2. Написать небольшой компонент на C++, который при помощи CLR Hosting API загрузит в Rational конкретную версию .NET 1.1, тогда все последующие компоненты будут использовать только её.
3. Использовать для отладки Visual Studio 2005.
Re[2]: Проблема с .NET 2.0
От: kapusta1980  
Дата: 11.01.06 14:47
Оценка:
M>1. Написать Rational.exe.config, в ктором прописать, что для этого приложения всегда нужно использовать .NET 1.1

Раньше не писал таких файлов. Сейчас смотрю в MSDN.
Подкиньте простой пример, максимально мне близкий, если это не сложно.

Спасибо за идеи.
Re[3]: Проблема с .NET 2.0
От: mihailik Украина  
Дата: 11.01.06 15:09
Оценка:
K>Подкиньте простой пример, максимально мне близкий, если это не сложно.

Вот здесь есть:
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\wsdl.exe.config
Проблема с .NET 2.0
От: Аноним  
Дата: 11.01.06 13:33
Оценка:
> при инициализации COM-объекта... может при инициализации каким-то боком используется .NET 2.0, а не 1.1? как проверить?

Для инициализации COM-объектов написанных под .NET используется system32\mscoree.dll
Надо смотреть версию этого файла. Если установлен .NET 2.0, то версия mscoree.dll — 2.0....


---
см.: TaskRunner, PopupWindow, Html2XmlConverter, Win32ResourceManager, MenuBuilder, Lens .


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.