Как динамически загружать C # dll из C ++ DLL

У меня есть приложение на C ++. Это поддерживает пользовательские библиотеки подключаемых модулей C ++, он будет динамически загружать эти библиотеки DLL, а затем сможет динамически создавать и использовать пользовательские типы. Эти типы пользователей являются производными от базовых типов и интерфейсов, определенных в основной библиотеке основного приложения, поэтому я использую объекты пользователя как указатели на базовый класс и вызываю виртуальные функции пользователя, чтобы сделать их волшебство.

Теперь я хочу расширить плагин. DLL, чтобы разрешить управляемые DLL (я больше всего забочусь о C #). Я хочу, чтобы та же самая магия происходила в подключаемых библиотеках C #.

Как я могу динамически загружать эти библиотеки DLL, как я думаю, библиотека LoadLibrary из Win32, которую я сейчас использую, будет довольна управляемой DLL. У меня не будет доступа к этим библиотекам во время компиляции / компоновки, они исходят от пользователя.

После загрузки библиотеки, к сожалению, я подозреваю, что COM в моем будущем станет способом вызова производных функций. Возможно, я мог бы использовать оболочку CLI / C ++, о которой читал, но у меня здесь очень мало опыта, и я буду признателен за любые советы или ссылки на соответствующие статьи.

7
задан bluish 10 September 2015 в 09:41
поделиться