в настоящее время мы используем MEF (Managed Extensibility Framework, http://mef.codeplex.com/), и он выбрасывает исключения с ограниченной информацией для продолжения.
есть ли способ отладки исключений MEF?
Мое исключение таково:
System.Reflection.ReflectionTypeLoadException: невозможно загрузить один или несколько запрошенных типов. Получите свойство LoaderExceptions для получения дополнительной информации.
в System.Reflection.RuntimeModule.GetTypes (модуль RuntimeModule)
в System.Reflection.RuntimeModule.GetTypes ()
в System.Reflection.Assembly.GetTypes ()
в System.ComponentModel.Composition.Hosting.AssemblyCatalog.get_InnerCatalog ()
в System.ComponentModel.Composition.Hosting.AssemblyCatalog.GetExports (определение ImportDefinition)
в System.ComponentModel.Composition.Hosting.AggregateCatalog.GetExports (определение ImportDefinition)
в System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportsCore (определение ImportDefinition, AtomicComposition atomicComposition)
в System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore (определение ImportDefinition, AtomicComposition atomicComposition, IEnumerable`1 & exports)
в System.ComponentModel.Composition.Hosting.AggregateExportProvider.GetExportsCore (определение ImportDefinition, AtomicComposition atomicComposition)
в System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore (определение ImportDefinition, AtomicComposition atomicComposition, IEnumerable`1 & exports)
в System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExports (определение ImportDefinition, AtomicComposition atomicComposition, IEnumerable`1 & exports)
в System.ComponentModel.Composition.Hosting.CompositionContainer.GetExportsCore (определение ImportDefinition, AtomicComposition atomicComposition)
в System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore (определение ImportDefinition, AtomicComposition atomicComposition, IEnumerable`1 & exports)
в System.ComponentModel.Composition.Hosting.ExportProvider.GetExports (определение ImportDefinition, AtomicComposition atomicComposition)
в System.ComponentModel.Composition.Hosting.ImportEngine.TryGetExports (поставщик ExportProvider, часть ComposablePart, определение ImportDefinition, AtomicComposition atomicComposition)
в System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImportSubset (PartManager partManager, импорт IEnumerable`1, AtomicComposition atomicComposition)
в System.ComponentModel.Composition.Hosting.ImportEngine.TryPreviewImportsStateMachine (PartManager partManager, ComposablePart part, AtomicComposition atomicComposition)
в System.ComponentModel.Composition.Hosting.ImportEngine.PreviewImports (часть ComposablePart, AtomicComposition atomicComposition)
в System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.Compose (пакетная композиция)
в System.ComponentModel.Composition.Hosting.CompositionContainer.Compose (партия CompositionBatch)
в System.ComponentModel.Composition.AttributedModelServices.ComposeParts (контейнер CompositionContainer, Object [] attribuParts)
в MyApp.Extension..ctor (сборка сборки) в W: \ MyApp \ Source \ Extensions \ Extension.cs: строка 45
OK
Код прост:
var aggregateCatalog = new AggregateCatalog();
_assembly = assembly;
var assemblyCatalog = new AssemblyCatalog(assembly);
aggregateCatalog.Catalogs.Add(new AssemblyCatalog(System.Reflection.Assembly.GetExecutingAssembly()));
aggregateCatalog.Catalogs.Add(assemblyCatalog);
_compositionContainer = new CompositionContainer(aggregateCatalog);
_compositionContainer.ComposeParts(this);