A-TAK.COM

NEMCHI2開発いきづまった・・・

※Amazonのアソシエイトとして、A-TAK.COMは適格販売により収入を得ています
※本サイトではその他アフィリエイトも利用しております。

シェア

img43f09a6e7dd57[1].png

プラグイン読み込みでキャストに失敗したというエラーが出てしまう。
うーん、インタフェースはちゃんと実装しているのに。

具体的には

System.InvalidCastException: 型 ‘WindowNotifier.Notifier’ のオブジェクトを型 ‘NotifierPlugin.INotifierPlugin’ にキャストできません。

こんなエラー。
NotifierはINotifierPluginインターフェースをちゃんと実装しているんだけどなぁ・・・。
疲れたので、また今度調べよう。

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


シェア

投稿日

カテゴリー:

投稿者:

タグ:

カテゴリ一覧