public static void CompleteInitialization() { Assembly[] partsAssemblies; lock (_initLock) { if (_isInitialized) return; _isInitialized = true; partsAssemblies = _partAssemblies.Union(FindWebApplicationAssemblies()).ToArray(); } var conventions = new ConventionBuilder() .WithMvcConventions() .WithEagerConstructionSupport(); conventions.ForTypesUnderNamespace("Parts").Export().ExportInterfaces(); var container = new ContainerConfiguration() .WithDefaultConventions(conventions) .WithAssemblies(partsAssemblies) .WithApplicationSettings() .CreateContainer(); MvcCompositionProvider.Initialize(container); CompositionFilterProvider.Install(FilterProviders.Providers); ImportCapableFilterAttributeFilterProvider.Install(FilterProviders.Providers); container.ConstructEagerParts(); }