I am trying to create an integration between a 3rd party Lisp-based program (Let's call it ABC) and a C# program I have written myself (let's call it DEF). The problem is that ABC can only call assemblies created in C or Fortran. So I started learning C, and I got the "hello world" test to work, where ABC call my C dll and gets "hello world" in return. The I tried to call my DEF dll from the C code using explicit loading and GetProcAddress. It worked if I called another C dll, but not a C# dll. Now I wonder if I must learn C++ and call C# from C++ to create this nice call chain:
ABC -> C -> C++ -> DEF(C#) -> C++ -> C -> ABC
If that is the only way, can anyone help me with some examples etc?