Лучший способ использовать VB.NET библиотеку классов из C ++ DLL?
Вопрос
Мне нужно использовать один из моих проектов VB.NET в проекте C ++.Интерфейс между ними будет заключаться в том, чтобы код C ++ создавал экземпляры и вызывал методы на одном из объектов .NET assembly.
Оба компилируются в библиотеки DLL (а затем C ++ DLL загружается из NTVDM как VDD, но это, вероятно, не имеет значения.)
Если возможно, я бы хотел избежать использования COM для этого, так как мне нужно выполнить развертывание, не прикасаясь к реестру.Кроме того, я использую версии Visual Studio 2008 Express как для C ++, так и для VB.NET.
Пожалуйста, каков наилучший способ сделать это?
Решение
Вам действительно нужен родной C ++ или вы можете использовать C ++ / CLI?
Если вы сможете сделать все это на C ++ / CLI, то в итоге получите чистое .СЕТЕВОЕ приложение.
Если вам нужен "родной" C ++, то вы можете создать сборку, которая включает управляемый и неуправляемый C ++ непосредственно из Visual Studio (родной C ++ вызывает C ++ / CLI, который затем обращается к вашему VB.NET).
И, если вы предпочитаете собрать всю партию в одной сборке, вы можете следовать инструкциям для связывание родного C ++ с приложениями на C #.Это должно сработать и для VB.NET тоже.
И я бы настоятельно рекомендовал "Expert C ++ / CLI" от Heege (1-59059-756-7)
Другие советы
Если вы не хотите использовать COM и я не виню тебя, Я бы просто создал веб-сервис и с его помощью раскрыл вашу функциональность.Легко получить доступ к веб-сервису на C ++ и легко представить в VB.NET.
(Обновление)
Здесь это ссылка на блог, в котором рассказывается о том, как предоставить веб-службу без IIS