プラグインが自分自身をホストに登録するための良い方法は何ですか?
私は C# を使用していますが、これは WPF アプリケーション用です。プラグインシステムを設計しています。私は設計段階にあるだけなので、詳細は必要ありません。MEFを使用します。私の設計では、各プラグインをホストのプラグインとして登録したいと考えています。このコンテキストでは、「登録」は非特定的です。ホストが利用可能な各プラグインを自動的に見つける方法が欲しいだけです。必要な登録データは、各プラグインの DLL の完全なパスとファイル名のみであると想定しています。つまり、インストール時に、各プラグインがプラグイン パスのリストに追加されます。プラグインのインストーラーは、リストを見つけることができる必要があります。私は、それを実現するための良い方法を尋ねています。従来の解決策は、すべてのプラグインを指定されたフォルダーに配置することですが、これはユーザーが行う必要があります。理論的には、プラグインはホストを見つけて使用するフォルダーを決定できますが、それを行うと、プラグインはさらに一歩進んで、プラグインのリストに自分自身を追加できます。プラグインのインストーラーが指定したプラグイン ディレクトリにプラグインをインストールすることを要求するよりも、プラグインの開発者がプラグインのインストールに登録を含める方が簡単になる方法を設計することが可能になると思います。いずれにせよ、プラグインのインストールがユーザーにとって簡単になるはずです。プラグインのインストーラーが指定したプラグイン ディレクトリにプラグインをインストールすることを要求するよりも、プラグインの開発者がプラグインのインストールに登録を含める方が簡単になる方法を設計することが可能になると思います。いずれにせよ、プラグインのインストールがユーザーにとって簡単になるはずです。プラグインのインストーラーが指定したプラグイン ディレクトリにプラグインをインストールすることを要求するよりも、プラグインの開発者がプラグインのインストールに登録を含める方が簡単になる方法を設計することが可能になると思います。いずれにせよ、プラグインのインストールがユーザーにとって簡単になるはずです。
たとえば、厳密な名前は同様の目的で設計されていると思われますが、Microsoft は厳密な名前を EXE に使用すべきではないと述べています。なぜそうしないのかの説明は明確ではないので、おそらくこの目的には強い名前が機能するでしょう.
私は基本的に、何を学ぶべきかについてのガイダンスを求めているだけです。