コンポーネントをオンデマンドでダウンロードする .NET クライアント ソフトウェア パッケージを構築しようとしています。
メインの実行可能ファイルと他の 20 個の dll ファイルに分割されたプログラムがあるとします。メインプログラムはそのうちの 3 つを参照していますが、とにかく他のいくつかを参照しています...依存構造のようなある種のツリーがあります。
私が達成しようとしているのは、メインの実行可能ファイルのみを配布し、サーバーの場所からオンデマンドで他のすべてを取得することです。
このようなもの: メイン プログラムとこれらすべての dll プロジェクトは 1 つのソリューションにあり、他のソリューションと同様に一緒に構築されます。配布中は、exe のみが配布され、他の dll (使用されているいくつかのサードパーティ製ライブラリを含む) は、ダウンロード可能なサーバーの場所に置かれます。
exe が実行され、いくつかの UI が表示されます。ユーザーがメニュー項目をクリックすると、dll ファイルの別の UI ウィンドウが表示されるため、OS は dll (そこにはありません) を探します。介入して、必要な dll をダウンロードします。サーバー、exeの横に置き、OSが最初からそこにあったかのようにロードします。
これは、共通の Interface クラスといくつかのリフレクション マジックを使用することで実現できるように見えますが、私はそれ以上のこと、単一のソリューションで dll を完全に構築すること、サード パーティ ライブラリのオンデマンド ダウンロードを含むことを望んでいました。
これを行う方法はありますか?