I'm looking for a way to write a GO application that use a .NET UI. Or the other way around, a .Net application that calls into a GO library.
Is there anyway to P'Invoke GO, or ".Net'Invoke" from GO?
If not, what is the best performing alternative? The best idea I have right now is RPC.
It is possible to host a .NET CLR in-process. You could in theory write a DLL callable from C, which could host such a CLR.
e.g. This example project demonstrates creating a CLR inside of a C++ application.
If you bundle together the required state (e.g. ICLRRuntimeInfo
et al.) into a struct, you should be able to call the equivalents from a DLL written in C, and return a 'handle' or some such other wrapper to your Go application.
What is not entirely clear from the documentation is