「プラグイン」するアプリケーションのサードパーティアセンブリを参照するプラグインアセンブリがあります。次に、このサードパーティアプリケーションを実行するユーティリティがあり、クラスのフルネーム、アセンブリ名、および実行するプラグインのメソッドを渡します。
ユーティリティでこれらの詳細を文字列定数としてハードコーディングできます。代わりに、リフレクションを使用して実行時にそれらを取得したいと思います。プラグインクラスは特定のインターフェイスを実装し、メソッドにはカスタム属性の注釈が付けられます。だから私が思っていたのは可能だろう。プラグインに特定のリフレクションクラスを追加し、それを呼び出して詳細を取得しました。しかし、それは(代表的な)行で倒れます:
サードパーティのアセンブリの1つを読み込もうとしたため、FileNotFoundExceptionが発生したAssembly.GetExecutingAssembly()。GetExportedTypes()。ライセンス規則により、ユーティリティをこれらのサードパーティアセンブリに直接リンクしたくありません。
だから私の質問は、他の参照されたアセンブリのロードの試みをトリガーせずに、プラグインアセンブリのクラスのリストを取得するにはどうすればよいですか?それは可能ですか、それとも文字列定数に頼らなければなりませんか?