Próbuję utworzyć integrację między programem bazującym na Lisp innej firmy (nazwijmy to ABC) a programem C#, który sam napisałem (nazwijmy to DEF). Problem polega na tym, że ABC może wywoływać tylko zespoły utworzone w C lub Fortran. Więc zacząłem uczyć się C, i mam test "cześć świat" do pracy, gdzie ABC nazywa moje C dll i dostaje "cześć świat" w zamian. Próbowałem wywołać moje dll DEF z kodu C za pomocą jawnego ładowania i GetProcAddress. To działało, gdybym zadzwonił do innej biblioteki DLL, ale nie do biblioteki C#. Teraz zastanawiam się, czy muszę uczyć się C++ i wywołać C# od C++, aby utworzyć ten piękny łańcuch połączenia:Jak wywołać metody w C# dll z mojego kodu C?
ABC -> C -> C++ -> DEF (C#) -> C++ -> C -> ABC
Jeśli to jedyny sposób, czy ktoś może mi pomóc z przykładami itp.?
Czy zarejestrowałeś swój plik C# dla interakcji COM? Zrobiłem to w przeszłości, jest to możliwe. – SouthShoreAK
Nie zapomnij oznaczyć odpowiedzi na swoje pytanie, jeśli jest (zaznacz hak pod przyciskiem odpowiedzi na dole odpowiedzi). – sschrass