3
我正在尋找一種方法來編寫使用.NET UI的GO應用程序。或者相反,一個調用GO庫的.Net應用程序。與GO共享.Net庫
無論如何P'Invoke GO,或者「.Net'Invoke」從GO?
如果不是,什麼是表現最好的替代方案?我現在最好的想法是RPC。
我正在尋找一種方法來編寫使用.NET UI的GO應用程序。或者相反,一個調用GO庫的.Net應用程序。與GO共享.Net庫
無論如何P'Invoke GO,或者「.Net'Invoke」從GO?
如果不是,什麼是表現最好的替代方案?我現在最好的想法是RPC。
可以在進程中託管.NET CLR。理論上你可以編寫一個可從C調用的DLL,它可以託管這樣一個CLR。
例如This example project演示了在C++應用程序內創建CLR。
如果您將所需狀態(例如ICLRRuntimeInfo
等)捆綁在一個結構中,您應該能夠從C編寫的DLL中調用等價物,並返回一個「句柄」或其他一些包裝到您的去應用程序。
的不是從文檔完全清楚是
我認爲這很難做到。 cgo可以在適當的情況下調用C(和C++),但不能調用.NET。有一些像https://github.com/niemeyer/qml這樣的東西可以在Windows上運行,並綁定到http://go-lang.cat-v.org/library-bindings上列出的不同GUI庫。 – twotwotwo
對於一種非常有效的替代方法,Go適合並經常用於服務器;您可以擁有一個.NET客戶端,該客戶端啓動並連接到在後端執行工作的本地Go服務器。 – twotwotwo
@twotwotwo如果看起來沒有更好的方法,那麼我最終可能會這樣做。 –