我正在寻找一种编写使用.NET UI的GO应用程序的方法。或者反过来说,一个调用GO库的.Net应用程序。
无论如何P'Invoke GO,或来自GO的“.Net'Invoke”?
如果没有,表现最佳的替代方案是什么?我现在最好的想法是RPC。
答案 0 :(得分:2)
可以在进程中托管.NET CLR。理论上你可以编写一个可以从C调用的DLL,它可以托管这样一个CLR。
e.g。 This example project演示了如何在C ++应用程序中创建CLR。
如果将所需状态(例如ICLRRuntimeInfo
等)捆绑到一个结构中,您应该能够从用C编写的DLL中调用等效项,并返回“句柄”或其他一些包装到你的Go应用程序。
文档中未完全清楚的是