C#でプラグイン風の機能を使ってみたのでメモ。
基本的なポイントは次の通り。
- 所定のディレクトリにあるプラグインを読み込む
- プラグイン自体は.NET FrameworkのDLL
- プラグインDLLは共通のインターフェイスをもつ
サンプルプロジェクトの構成
Visual Studio のソリューションにプロジェクトを4つ作成。
プロジェクト名 |
種類 |
参照設定 |
備考 |
HogeMain |
Windows フォームアプリケーション |
HogePlugin,Namihei,Fune |
スタートアッププロジェクト |
HogePlugin |
クラスライブラリ |
|
プラグインのインターフェイス |
Namihei |
クラスライブラリ |
HogePlugin |
プラグイン1 |
Fune |
クラスライブラリ |
HogePlugin |
プラグイン2 |
プラグインの共通仕様をDLLにして共有する(HogePlugin)。中身は普通のインターフェイス。
HogeMain でプラグイン(Hamihei,Fune)を参照設定しているのは、実行フォルダにプラグインDLLを作成する為だけの目的なので本来は必要ない。
HogeMain にテキストボックスを1つ追加すれば準備完了。
続きを読む