Closed xtuaok closed 9 years ago
https://github.com/xtuaok/ACT_EnmityPlugin/tree/overlay-0300-addon をチェックアウトして試してみましたが、こちらの環境では正常に動作しています。
v0.3.0.0 から、カスタムアセンブリリゾルバ(RainbowMage.OverlayPlugin.PluginMain.CustomAssemblyResolve()
)の内容が変更になっており、自分自身の解決を要求された場合は Assembly.GetExecutingAssembly()
で解決するようにしております。
旧バージョンのリゾルバが何らかの理由で有効になっている場合(たとえば、旧バージョンの OverlayPlugin がロードされたままになっている等)、旧バージョンのリゾルバで解決されてしまうために新バージョンでの変更が効かなくなり、新たに Assembly.LoadFile(string)
でアセンブリを読み込んでしまい、自分自身のアセンブリ由来の IOverlayAddon
が実装されていないと認識されてしまっている可能性がありますが、いかがでしょうか。
すみません、環境をゼロから改めました所動作いたしました。 このPRは取り下げます。
use GetInterface() instead of IsAssignableFrom() http://www.hanselman.com/blog/DoesATypeImplementAnInterface.aspx
よくわかりませんが IsAssignableFrom() では IOverlayAddon 実装クラスでもfalseが返ってくるので上記の記事を参考に変えました。
また、addon のアセンブリから OverlayTypeManager.RegisterOverlayType()を呼んでもOverlayPluginのOverlayTypeManagerには登録されませんでした。こちらは未だ解決しておりません。