В последний раз, когда я сделал это, это стало настолько непростым (некоторые не относящиеся к делу проблемы, связанные с COM +, развертыванием и т. Д., Приводило нас в замешательство), что я фактически отключил границу COM и переписал интерфейс как веб-сервис POX, общаясь с обработчик (ashx) в .NET. Я бы серьезно рассмотрел этот подход ... (если вам не нужно делиться дескрипторами окон или подобными)
Если вы действительно хотите использовать COM API, вам нужно сгенерировать COM-вызываемую оболочку; это в значительной степени случай:
- обеспечение доступа к необходимым типам / методам
- маркировка сборки / типов как
[ComVisible(true)]
- с использованием
tlbexe
для экспорта библиотеки типов, если вам нужно
- с использованием
regasm
для регистрации типа в COM (либо в GAC, либо из фиксированного места на диске)
После этого ваш VB6 должен просто увидеть его как еще один COM-пакет, но я настоятельно рекомендую ограничить этот интерфейс до минимума; это не дружественно к изменениям, и переадресация интерфейса в стиле VB6 (то есть, где вы можете избежать добавления метода, не нарушая бинарную совместимость) здесь отсутствует.