プラグイン読み込みでキャストに失敗したというエラーが出てしまう。
うーん、インタフェースはちゃんと実装しているのに。
具体的には
System.InvalidCastException: 型 ‘WindowNotifier.Notifier’ のオブジェクトを型 ‘NotifierPlugin.INotifierPlugin’ にキャストできません。
こんなエラー。
NotifierはINotifierPluginインターフェースをちゃんと実装しているんだけどなぁ・・・。
疲れたので、また今度調べよう。
[追記]
どうやら、アセンブリの検索の仕組みを勉強する必要があるようです。
プラグインは「plugins」というフォルダに入れて、そこを検索するようにしていたのですが、プラグインが使うインターフェースなどが別のDLLにあるので、そのバインドが正しくなくて型が違う→キャストできない・・というエラーが出ているのではないかという予想。
試しに、プラグインを他のDLLと同じ場所において動くようにしたら動作した。
また、プラグインを元の場所に戻して、本体のEXEと同じ所にあるプラグインのインターフェースDLLを削除したら、アセンブリが見つからないエラーになった。
どうも、プラグイン自体のDLLは指定したところから読み込んでいるみたいだけど、関連するDLLは何か特定の仕組みで探して持ってきているように見える。