Этот метод работает нормально.
Я изменил имя класса запуска моих файлов модулей, затем собрал каждый модуль xap с атрибутами Module Export на странице запуска, а затем добавил этот файл XAP в основной проект.
И загрузил каждый проект, вызвав имя модуля
Вот фрагмент
Imports Microsoft.Practices.Prism.Modularity
Imports Microsoft.Practices.Prism.MefExtensions.Modularity
Imports System.ComponentModel.Composition
Imports Microsoft.Practices.Prism.Regions
<ModuleExport(GetType(App))> _
Partial Public Class App
Inherits Application
Implements IModule
Public Sub New()
InitializeComponent()
End Sub
Public Sub Initialize() Implements Microsoft.Practices.Prism.Modularity.IModule.Initialize
TheRegionManager.RegisterViewWithRegion("MyRegion1", GetType(MainPage))
End Sub
<Import()> _
Public Property TheRegionManager() As IRegionManager
Private Get
Return m_TheRegionManager
End Get
Set(ByVal value As IRegionManager)
m_TheRegionManager = value
End Set
End Property
Private m_TheRegionManager As IRegionManager
Private Sub Application_Startup(ByVal o As Object, ByVal e As StartupEventArgs) Handles Me.Startup
Me.RootVisual = New MainPage()
End Sub
End Class
Затем в главном приложении
Public Class TheBootstrapper
Inherits MefBootstrapper
Protected Overrides Function CreateModuleCatalog() As IModuleCatalog
Dim moduleCatalog As New ModuleCatalog()
moduleCatalog.AddModule(New ModuleInfo() With { _
.InitializationMode = InitializationMode.OnDemand, _
.Ref = "App.xap", _
.ModuleName = "App"})
Return moduleCatalog
End Function
End Class
Затем использовалXAP модуля путем вызова загруженного модуля.