Я использую Prism 4 с Unity.У меня есть основной проект и модуль.Модуль создается в виде приложений Silverlight, поэтому он создает отдельный файл xap.
Я загружаю модули в ConfigureModuleCatalog загрузчика, как указано в документации.
var moduleType = typeof (MyModule);
this.ModuleCatalog.AddModule(
new ModuleInfo
{
ModuleName = moduleType.Name,
ModuleType = moduleType.AssemblyQualifiedName,
InitializationMode = InitializationMode.WhenAvailable,
});
Все работает нормально,но я заметил, что мой основной xap-файл также содержит dll, связанные с моим модулем.Итак, я установил Copy Local = False в ссылке на модуль, и он правильно собирается с dll модуля только в своем собственном файле xap.
Но теперь мое приложение не запускается, потому что я не могу получить типинформация для MyModule.Я получаю FileNotFoundException.
Я обнаружил, что могу полностью удалить ссылку, если вручную введу ModuleName и ModuleType, а также установить Ref = "MyModule.xap" в ModuleInfo.Это прекрасно работает, но вот проблема: я часто строю и использую динамические номера версий.Таким образом, AssemblyQualifiedName изменяется слишком легко.Без ссылки невозможно получить ее динамически.Если я удаляю номер версии из AssemblyQualifiedName, он не работает.
Конечно, есть какой-то другой способ заставить модуль загружаться из своего собственного файла xap, не заканчивая также в основном xap?