1

私は記事を読んでいます: http://www.codeproject.com/KB/silverlight/MEFDynamicLoading.aspx これは、MEF を使用して XAP を動的にダウンロードする方法を説明しています。共有ライブラリは、copy local を false に設定して参照する必要があると記載されています。これは、'host' xap が copy local を true に設定してそれらを参照している場合にうまく機能しますが、これは私がサポートしたいシナリオではありません。私のアプリケーションには、一種のツリー構造に相当するものがあります。同じレベルのアイテムは、多くの場合 (ただし常にではありません)、大きな (おそらく 1MB 程度の) 依存関係を共有します。私が望むのは、必要な場合にのみこれらの依存関係をロードすることです。明らかなことは、copy local を全体で true に設定することですが、確実にしたいのは、依存関係が一度だけダウンロードされることです。ユーザーが、依存関係を必要とするアプリケーションの他の領域に移動した場合でも。

最後のポイントとして、これらの依存関係を事前にロードできるようにしたいと考えています。つまり、アプリケーションが他に価値のあることを何もしていないことがわかっている場合です。http://www.wintellect.com/CS/blogs/jlikness/archive/2010/05/25/silverlight-out-of-browser-dynamic-modules-in-に記載されているオフライン カタログも利用します。 offline-mode.aspxを使用して、ブラウザーから期待どおりに動作することを確認します。

4

1 に答える 1

1

正直なところ、メイン XAP にローカル参照を入れたくない場合にこれを実際に行う唯一の方法は、マニフェストを開いて自分で解析し、展開カタログを使用しないことです。基本的に、私がオフライン カタログで公開した方法を使用し、既に読み込まれている参照の辞書を保持する必要があります。次に、すべてのローカルをコピーできます。コードは、参照されたアセンブリが以前に読み込まれていない場合にのみチェックし、読み込みます。

于 2011-04-06T13:48:14.380 に答える