アプリケーション (.NET、WinForms 3.5) 用の単純なプラグイン フレームワークを設計する必要があります。
拡張ポイントは、特定の操作を実行するために、ユーザーがプラグインを使用して「フック」できるいくつかのアプリケーション イベント/シナリオになります。
これを機能させたい方法は次のとおりです。
ユーザーがプラグイン DLL (特定の基本クラスから派生した型を含む/何らかの方法でマークされた型を含むアセンブリ) を配置するPluginsフォルダーを用意します。
アプリケーション プラグイン システムでこれらのファイルを検索し、後で使用できるように登録します。
適切なタイミングで適切なプラグインを呼び出します (例: OnException、OnLog など)。
登録時にプラグイン オブジェクトを作成 (新規作成) すると、DLL がプロセス メモリに読み込まれます。
登録を行う簡単な方法を探しており、必要に応じてプラグインアセンブリを「遅延」ロードするだけです(必要な場合)。