Я использую MEF в silverlight для динамической загрузки некоторых плагинов из вторичного файла xap. Этот вторичный файл XAP построен из проекта, который ссылается на различные проекты плагинов, все из которых построены на dll, которые уже находятся в первичном файле xap.
Как таковой, я хочу довольно явный контроль над тем, какие DLL попадают в этот вторичный xap. Включение любых dll из основного файла xap является излишним (а также вызывает проблемы с перекомпоновкой MEF). Но Visual Studio, похоже, настаивает на включении различных зависимых библиотек, даже если для свойства CopyLocal установлено значение True только для ссылок на проекты плагинов.
Пока единственное, что я нашел, что работает, - это добавить явные ссылки на пробелматические всегда включаемые dll в проекте верхнего уровня, который создает вторичный xap, и установить CopyLocal в False в ссылочных свойствах. Но это хрупко, так как зависимости меняются.
Думаю ли я об этом неправильно? Должен ли я просто создать отдельный xap для каждого dll плагина (в этом случае установка CopyLocal в false для всех ссылок, кажется, работает)?