Tôi đang cố gắng tạo ra một sự tích hợp giữa một chương trình dựa trên Lisp của bên thứ 3 (Hãy gọi nó là ABC) và một chương trình C# mà tôi đã viết (hãy gọi nó là DEF). Vấn đề là ABC chỉ có thể gọi các hội đồng được tạo ra trong C hoặc Fortran. Vì vậy, tôi bắt đầu học C, và tôi có bài kiểm tra "hello world" để làm việc, trong đó ABC gọi dll C của tôi và nhận "hello world" đổi lại. Tôi đã cố gắng gọi dll DEF của tôi từ mã C bằng cách sử dụng tải rõ ràng và GetProcAddress. Nó làm việc nếu tôi gọi một dll C khác, nhưng không phải là một C# dll. Bây giờ tôi tự hỏi nếu tôi phải học C++ và gọi C# từ C++ để tạo ra chuỗi gọi đẹp này:Làm cách nào để gọi các phương thức trong C# dll từ mã C của tôi?
ABC -> C -> C++ -> DEF (C#) -> C++ -> C -> ABC
Nếu đó là cách duy nhất, bất cứ ai có thể giúp tôi với một số ví dụ, vv?
Bạn đã đăng ký C# dll cho COM interop chưa? Tôi đã thực hiện nó trong quá khứ, điều đó là có thể. – SouthShoreAK
Đừng quên đánh dấu câu hỏi của bạn được trả lời nếu nó là (kiểm tra móc dưới nút downvote của câu trả lời). – sschrass