Estoy tratando de crear una integración entre un programa basado en Lisp de terceros (llamémoslo ABC) y un programa C# que he escrito yo mismo (llamémoslo DEF). El problema es que ABC solo puede llamar a ensamblados creados en C o Fortran. Así que comencé a aprender C, y obtuve el test de "hello world" para trabajar, donde ABC llama mi C dll y obtiene "hello world" a cambio. Intenté llamar a mi DEF dll desde el código C usando carga explícita y GetProcAddress. Funcionó si llamaba a otro C dll, pero no a un C# dll. Ahora me pregunto si debo aprender C++ y llamar a C# en C++ para crear esta bonita cadena de llamadas:¿Cómo invoco los métodos en un dll C# desde mi código C?
ABC -> C -> C++ -> DEF (C#) -> C++ -> C -> ABC
Si esa es la única forma, ¿alguien puede ayudarme con algunos ejemplos, etc.?
¿Ha registrado su C# dll para COM interopera? Lo he hecho en el pasado, es posible. – SouthShoreAK
No olvide marcar su pregunta si es así (verifique el enlace debajo del botón de respuesta negativa de la respuesta). – sschrass