У меня есть проект C ++ и проект C #. Проект C # получает доступ к методам проекта C ++ через 2 dll взаимодействия, называемые interop.X.dll и interop.XCom.dll.
Когда мой проект C ++ перестраивается, он создает файлы X.tlb и XCom.tlb, а также файлы x_i.c, x_h.h, xCom_i.c, xCom_h.c. Я обнаружил, что файлы создаются из-за настроек проекта в «свойствах конфигурации -> MIDL -> вывод», как показано ниже;
Мне нужно знать, как создать 2 dll взаимодействия, которые не создаются автоматически, используя .tlb и другие файлы c. Я пытался использовать tlbimp x.tlb /out:Interop.x.dll
, но созданная DLL, похоже, не работает.
Благодарю.
Это краткое изложение моих комментариев выше.
Почему бы просто не обойти ссылки tlb и вместо этого просто добавить прямую ссылку COM?
Добавление ссылки COM из .NET в вашу библиотеку COM требует нулевого изменения в проекте COM. VS создает dll взаимодействия при добавлении ссылки COM из вашего проекта .NET
Других решений пока нет …