私のアプリケーションは、MEF を使用して優れた拡張性を提供しています。基本的に、プラグインが実装できる多くのインターフェイスがあり、通常の MEF メカニズムを通じてインポートされます。
ただし、次のステップで達成しようとしているのは、アプリケーション内から (どこかにホストされている) 公開されたプラグインのリストを表示して、ユーザーがこれらをダウンロードしてインストールできるようにする方法を提供することです。これは、アドイン/拡張機能/プラグインをダウンロードしてインストールできる Visual Studio ギャラリーのようなものです。
おそらく、これらすべてをゼロから書き始めることができることを私は知っています。また、次のような個々のトピックを中心に展開するいくつかの記事についても読みました。
- ダウンロード可能なプラグインには、説明、バージョンなどを含む何らかのタイプのメタデータ/マニフェストが必要になると思われます
- プラグインには依存関係がある可能性があります - 他のプラグインまたはプレーンなアセンブリとファイルを必要とするため、プラグインは単なるプラグイン アセンブリ dll ではなく、おそらく zip ファイルです。
- 更新を確認してダウンロードする必要があります。NET と使用中のアセンブリの置換に問題があることはわかっています
- ダウンロードとインストールでは、アクセス許可を処理する必要があります。アプリ自体が通常のプログラム フォルダーにインストールされている場合、通常のユーザーには、そこに追加の dll をスローする権限がない可能性があります。
利用可能なプラグインのホスティングについては、それほど心配していません。これは何でもかまいません: ネットワーク共有、Web サーバー - それはあまり重要ではありません。
私の質問は、このようなことをしようとしているプロジェクトを誰か知っているので、ゼロから始める必要はありませんか? どんな助けでも大歓迎です。
J.-