Лучший способ использовать VB.NET библиотеку классов из C ++ DLL?

StackOverflow https://stackoverflow.com/questions/389244

  •  23-08-2019
  •  | 
  •  

Вопрос

Мне нужно использовать один из моих проектов 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top