セカンダリ xap ファイルからいくつかのプラグインを動的にロードするために、Silverlight で MEF を使用しています。このセカンダリ XAP ファイルは、さまざまなプラグイン プロジェクトを参照するプロジェクトからビルドされます。これらはすべて、プライマリ XAP ファイルに既に存在する dll に対してビルドされます。
そのため、どの dll がこのセカンダリ xap で終了するかを明確に制御したいと考えています。メインの xap ファイルから dll を含めることは冗長です (また、MEF の再構成で問題が発生します)。しかし、Visual Studio は、プラグイン プロジェクトへの参照に対して CopyLocal プロパティが True にのみ設定されている場合でも、さまざまな依存 dll を含めることを主張しているようです。
これまでのところ、セカンダリ xap をビルドする最上位プロジェクトに問題のある常に含まれる dll への明示的な参照を追加し、参照プロパティで CopyLocal を False に設定することだけが機能することがわかっています。しかし、依存関係が変化するにつれて、これは脆弱です。
私はこれについて間違って考えていますか?プラグイン dll ごとに個別の xap を構築する必要がありますか (その場合、すべての参照に対して CopyLocal を false に設定すると機能するようです)。