黙々とC#

"In a mad world of VBA, only the mad are sane" 『VBAという名の狂った世界で狂っているというのなら私の気は確かだ』

go-dotnet ~ .NET Core Runtimeをgolangから呼び出すためのラッパーライブラリ

golang(Go言語) から .NET Core ランタイムを呼ぶライブラリ。レポジトリ名はgo-dotnet

github.com

MITライセンスで現在鋭意開発中の模様。

以下、プロジェクトページの抄訳。

go-dotnet

.NET Core Runtimeをgolangから呼び出すためのラッパーライブラリ。このプロジェクトではcgo (golangからC言語の関数を利用するためのツール)を利用しており、OSX環境下でテストを行っている。

このライブラリは、CLR Hosting APIで提供されている2通りの基本的なユースケースをカバーしている。

  • 通常のエントリポイントを用いて、.exeファイルを読み込み実行する。coreruncoreconsoleを利用する場合と同様。詳しくは、ExecuteManagedAssembly関数を確認のこと。
  • .dllファイルを読み込み、delegatesを設定することで、Go関数から呼び出す。

C#とVB.NETの両方のメソッドの呼び出しを試行錯誤している。利用にあたっては、アセンブリをあらかじめ生成する必要があることに注意して欲しい。

.NETコードの準備

現状、C#のコードからアセンブリを生成するには、dmcsコマンド(Mono)を使っている。

VisualBasicの場合は、 vbncコマンド(MonoのVB.NETコンパイラ)を利用。