There are several ways for a C++ application to invoke functions in a C# DLL.
- Using C++/CLI as an intermediate DLL
- Reverse P/Invoke
- Using COM
- Using CLR Hosting (
ICLRRuntimeHost::ExecuteInDefaultAppDomain()
) - Interprocess communication (IPC)
- Edit: Host a HTTP server and invoke via HTTP verbs (e.g. a REST style API)