Класс загрузки из реестра с помощью COM работает с ToolsVersion = "2.0", но не работает с ToolsVersion = "4.0"

У меня есть проект С#, который использует внутренний проект vb как COM.

Когда я преобразовал проект в VS 2010, выполните следующую строку. Выбросьте мне исключение:

Set RTCClient_ = New RTCCORELib.RTCClient

RTCCore.RTCClient является частью Microsoft Merge Module для RTC (RTC Client API 1.2), который вы можете встроить в свой установочный пакет (это в моем случае включает EXE).

RTCCore.RTCClient - это класс, который регистрируется в реестре в HKEY_CLASSES_ROOT\RTCCore.RTCClient

Ошибка, которую я получаю:

ОШИБКА: Ошибка автоматизации
Указанный модуль не может быть найден. (-2147024770)

Но если я изменяю свой csproj и использую ToolsVersion="2.0", эта строка работает, и я могу получить объект RTCClient.

Какая проблема?

Ответ 1

Попробуйте установить "Вставить типы взаимодействия" в false в свойствах ссылки на вашу библиотеку COM в проекте. Mine - это С#, но ваш VB.Net также может иметь это.

Properties window