golang(Go言語) から .NET Core ランタイムを呼ぶライブラリ。レポジトリ名はgo-dotnet
MITライセンスで現在鋭意開発中の模様。
以下、プロジェクトページの抄訳。
go-dotnet
.NET Core Runtimeをgolangから呼び出すためのラッパーライブラリ。このプロジェクトではcgo (golangからC言語の関数を利用するためのツール)を利用しており、OSX環境下でテストを行っている。
このライブラリは、CLR Hosting APIで提供されている2通りの基本的なユースケースをカバーしている。
- 通常のエントリポイントを用いて、.exeファイルを読み込み実行する。corerunやcoreconsoleを利用する場合と同様。詳しくは、ExecuteManagedAssembly関数を確認のこと。
- .dllファイルを読み込み、delegatesを設定することで、Go関数から呼び出す。
C#とVB.NETの両方のメソッドの呼び出しを試行錯誤している。利用にあたっては、アセンブリをあらかじめ生成する必要があることに注意して欲しい。
.NETコードの準備
現状、C#のコードからアセンブリを生成するには、dmcsコマンド(Mono)を使っている。
VisualBasicの場合は、 vbncコマンド(MonoのVB.NETコンパイラ)を利用。