実行時に DLL を読み込んで使用しようとしていますが、これは正常に機能します。
var pluggin = asm2.CreateInstance("ParserTest.Interface", true) as iPluggin;
しかし、これはそうではありません (特定のフォルダー内の DLL ファイルをループして、iPluggin インターフェイスを実装する適切なファイルを見つける必要があります)。
...
var asm = Assembly.LoadFrom(dll.FullName);
if (asm.GetExportedTypes().FirstOrDefault(q => q.GetInterface(tName) != null) == null) continue;
Project.ProcessList.Add(asm.CreateInstance(tName, true) as iPluggin);
...
デバッグモードでいくつかの調査を行ったところ、次のことがわかりました。
asm.CreateInstance(tName, true)
は正しいオブジェクトを返しますが、それを iPluggin にキャストしようとすると、結果は null になります。理由はありますか?