PRISMs run
метод сначала вызывает CreateModuleCatalog
и присваивает его возвращаемое значение BootStrapper.ModuleCatalog
.Так что на самом деле вы должны создать ModuleCatalog там.Для настройки вы можете использовать любой метод, единственное отличие будет в том, где в журнале будет показано потенциальное исключение.Например, соответствующий код в MefBootstrapper.Run
такой:
this.Logger.Log(Resources.CreatingModuleCatalog, Category.Debug, Priority.Low);
this.ModuleCatalog = this.CreateModuleCatalog();
if (this.ModuleCatalog == null)
{
throw new InvalidOperationException(Resources.NullModuleCatalogException);
}
this.Logger.Log(Resources.ConfiguringModuleCatalog, Category.Debug, Priority.Low);
this.ConfigureModuleCatalog();