IronPythonからC#のライブラリを利用する

 11th September 2021 at 2:53pm

のは思ったより簡単ではありませんでした

C#のライブラリにおいて、1つのdllで動作するものは少なく、複数のdllで動作することが多いからです。また、そのC#のライブラリだけでなく、標準の.NET Frameworkのライブラリが必要な場合もあります。同じフォルダに入れておけば良いのか、参照設定が必要なのか、パッと分かりません。。。

私の場合どうしたかと言うと、

Visual StudioのNugetでC#のライブラリをダウンロードし、それが動作するプロジェクトを作成します。あとはビルドすればReleaseやDebugフォルダに必要なdllがコピーされますので、それらを使いました。

以下は、統計解析Rを.NET Framework上で扱うためのライブラリ「R.Net」を動作させるのに必要なdll群です。

C#のライブラリをIronPython上で使えるようにするまでの大まかな手順

Visual StudioのC#のプロジェクトを作成します

Nugetして必要なライブラリをダウンロードします

C#で動作の確認を行うプログラムを作成しビルドします

ビルドし、動作を確認します

IronPythonのLibフォルダにコピーするファイルを準備し、コピーします。

  • 作成されたdll群
  • IronPythonで使う際に必要な__init__.pyを作成します。
    • パスの設定
    • 必要なdllの参照設定
    • IronPythonから簡単に機能を呼び出すための関数やクラスの作成

あとはimportすれば使えます。実際にはそれぞれのライブラリで扱い方はずいぶん異なります。


HomeへIronPythonの記事Topへ