Используйте .NET COM в vb6 - PullRequest
       20

Используйте .NET COM в vb6

4 голосов
/ 07 ноября 2008

У меня проблемы с использованием .NET COM в vb6, он компилируется нормально, и я использую regasm, чтобы зарегистрировать его, добавить ссылку на него в проект vb6, он даже имеет intellisense. Но когда я пытаюсь создать экземпляр, это дает мне «Ошибка автоматизации». Кто-нибудь может помочь?

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 07 ноября 2008

Возможно, вам нужно убедиться, что ваши сборки .NET находятся в каталоге приложения VB6 или, если они отлаживаются в среде IDE VB6, в каталоге VB6.exe.

Можно заставить COM-взаимодействие с .NET-сборками работать больше как COM-библиотеки (см. Параметр codebase в regasm ), но по умолчанию поиск .NET-сборок ищется обычным способом - т.е. в GAC или каталог приложений - даже при использовании через COM-взаимодействие.

Действительно простой способ понять, где должна быть ваша сборка, - это использовать утилиту sysinternals filemon .

0 голосов
/ 24 февраля 2009

Я думаю, вы должны скомпилировать проект .Net определенным образом, чтобы использовать его COM-объектами. И библиотеки .Net должны находиться рядом с тем же каталогом, что и COM-объект, который их вызывает (если они занимают одно и то же пространство, я думаю).

Страницы свойств проекта \ Свойства конфигурации \ Build \ Register for COM Interop = true

...