Мне нужно разработать некоторые классы, которые должны быть вызваны из VB6 с помощью Managed C ++ (C ++ / CLI).
Сначала я разработал образец на C #, и я могу без проблем использовать сборку через COM, просто используя настройки «Зарегистрировать для COM-взаимодействия» и «Сделать сборку COM видимой» (и используя атрибут [ClassInterface (ClassInterfaceType.AutoDual)] для сделать методы доступными на VB6.
После этого я безуспешно пытался перевести образец на C ++ / CLI. Я создал тот же класс с атрибутом [ClassInterface (ClassInterfaceType.AutoDual)]. Я установил параметр «Embedded IDL», чтобы указать выходной TLB, но TLB не создается автоматически. Если я использую tlbexp util поверх сгенерированной DLL, я получаю tlb, который можно импортировать в VB6, но когда я пытаюсь создать экземпляр, я получаю сообщение «ActiveX compoennt не может создать объект (429)»
Что еще мне нужно сделать с проектом, чтобы он заработал?
Заранее спасибо.