Какие у меня есть варианты для C ++ DLL вызвать C # DLL?

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

Вопрос

У меня есть C ++ DLL, которой необходимо вызвать функцию (передать значение, вернуть значение) в библиотеке классов C #.

Является ли моим единственным вариантом предоставить C # DLL COM-интерфейс и вызвать его из C ++ с IDispatch?

Является ли это лучшим методом?

Это было полезно?

Решение

Несколько вариантов, доступных для вас здесь

  1. Используйте сборку C ++ / CLI в смешанном режиме в качестве моста между C ++ и C # DLL
  2. Используйте COM-мост, предоставив несколько ключевых типов C # в качестве COM-объектов.Затем к нему можно получить доступ через код C ++ с помощью обычной семантики COM

Другие советы

Этот проект Создает dll-экспорт для статических методов в классах.Затем вы могли бы вызвать статический метод C # из неуправляемого кода.

Один из подходов, который мог бы сработать, состоял бы в том, чтобы вызвать его через COM.Вы можете использовать инструмент Regasm ( Регазм ) чтобы создать COM-оболочку.

Это не тот Только вариант.

Вы также можете скомпилировать свою C ++ DLL как управляемую DLL.

Вы могли бы разместить свою C # DLL как сервис и удаленно подключиться к нему.

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