Cómo cargar dinámicamente un dll de C # desde una DLL de C ++

Tengo una aplicación C ++. Esto es compatible con las DLL del complemento C ++ de los usuarios, cargará dinámicamente estas DLL y luego podrá crear y usar los tipos de usuario dinámicamente. Estos tipos de usuario se derivan de los tipos básicos y las interfaces definidas en la biblioteca principal de la aplicación principal, por lo que mantengo los objetos del usuario como punteros a la clase base y llamo a las funciones virtuales del usuario para que su magia suceda.

Ahora quiero extender las DLL de complementos para permitir las DLL administradas (principalmente me importa C #). Quiero que ocurra la misma magia en las DLL de complementos de C #.

¿Cómo puedo cargar dinámicamente estos dll? De alguna manera, creo que la biblioteca de carga de win32 que estoy usando actualmente estará contenta con una DLL administrada. No tendré acceso a estas bibliotecas en tiempo de compilación / enlace, provienen del usuario.

Después de cargar la biblioteca, desafortunadamente sospecho de COM en mi futuro como la forma de llamar a las funciones derivadas. Posiblemente podría usar el contenedor CLI / C ++ sobre el que he estado leyendo, pero aquí soy muy inexperto y agradecería cualquier consejo o enlace a los artículos apropiados.

Respuestas a la pregunta(3)

Su respuesta a la pregunta