1

複数のシルバー ライト プロジェクトで使用する一般的なサード パーティの dll がたくさんあります。それぞれが、サード パーティの dll の同じコピーを含む独自の XAP ファイルを生成します。ローカル キャッシュ dll が、以前にロードされた他の XAP で使用されている一般的な dll と異なる場合にのみ、一般的なサード パーティの dll を分離してロードすることは可能ですか?

つまり、私が考えていたのは、最初に新しい Silverlight ページに入ると、アプリケーション XAp と共通 XAP ファイルが読み込まれ、その Silverlight アプリから別の Silverlight ページに移動し、別の XAP が読み込まれるということです。ただし、今回は、最初の XAP ロードによって既にロードされているため、共通の dll XAP はロードされません。

ありがとう、

4

3 に答える 3

3

サードパーティのDLLが適切に作成されている場合は、このシナリオを正確に実行できる.extmap.xmlファイルが付属しています。ただし、Silverlightプロジェクトの[アプリケーションライブラリのキャッシュを使用してXAPサイズを減らす]オプションをオンにして、オンにする必要があります。これがどのように機能するかの詳細については、http://msdn.microsoft.com/en-us/library/dd833069 (VS.95).aspxを参照してください。

于 2011-05-19T00:16:37.950 に答える
1

他の XAP をロードするための呼び出しを行うメインの XAP があると思いますよね? 各 DLL のプロパティで、メインの XAP を除いて、属性"Copy to Local" を FALSEに変更するだけです。ユーザーがメインの XAP をダウンロードすると、依存するすべての XAP で DLL を使用できるようになります。

于 2011-08-25T15:52:31.700 に答える
1

より最適な解決策は、 ComponentOne XAPOptimizerのようなものを使用して XAP/Zip ファイルを縮小しようとすることだと思います。あなたのアプローチの問題は、1 つ以上のプロジェクトが変更された場合に管理できないプロジェクト間に依存関係を導入していることです。 これは、XAP ファイルのサイズを小さくするための優れたリソースです。

于 2011-05-18T19:37:25.977 に答える