public void RemovingAndReAddingMultipleDefinitionsFromCatalog() { var fixedParts = new TypeCatalog(typeof(RootMultipleImporter), typeof(ExportedService)); var changingParts = new TypeCatalog(typeof(Exporter1), typeof(Exporter2)); var catalog = new AggregateCatalog(); catalog.Catalogs.Add(fixedParts); catalog.Catalogs.Add(changingParts); var catalogExportProvider = new CatalogExportProvider(catalog); catalogExportProvider.SourceProvider = catalogExportProvider; var root = catalogExportProvider.GetExport<RootMultipleImporter>().Value; Assert.AreEqual(2, root.Imports.Length); catalog.Catalogs.Remove(changingParts); Assert.AreEqual(0, root.Imports.Length); catalog.Catalogs.Add(changingParts); Assert.AreEqual(2, root.Imports.Length); }