public void RootPathContainsCustomModules_CustomModulesAreImported() { var rootPath = GetCurrentDirectory(); ICompositionContainer <ICustomModule> compositionContainer = CreateCompositionContainer <ICustomModule>(rootPath); compositionContainer.Compose(); var modules = compositionContainer.Modules; var modulesCount = modules.Count(); modulesCount.Should().Be(2); }
/// <summary> /// Creates composable parts from an array of attributed objects and composes them in the specified composition container. /// </summary> /// <param name="container">The composition container to perform composition in.</param> /// <param name="attributedParts">An array of attributed objects to compose.</param> public static void ComposeParts(this ICompositionContainer container, params object[] attributedParts) { Requires.NotNull(container, nameof(container)); Requires.NotNull(attributedParts, nameof(attributedParts)); ComposablePart[] parts = new ComposablePart[attributedParts.Length]; for (int i = 0; i < parts.Length; i++) { parts[i] = AttributedModelServices.CreatePart(attributedParts[i]); } CompositionBatch batch = new CompositionBatch(parts, Enumerable.Empty <ComposablePart>()); container.Compose(batch); }
private void InitializeComposition(string rootPath, string[] prefixes = null) { CompositionContainer = new CompositionContainer(_compositionModuleCreationStrategy, new FileSystemBasedAssemblyLoadingStrategy(rootPath, prefixes)); CompositionContainer.Compose(); }
private void InitializeComposition(IEnumerable <Assembly> assemblies) { CompositionContainer = new CompositionContainer(_compositionModuleCreationStrategy, new PreloadedAssemblyLoadingStrategy(assemblies)); CompositionContainer.Compose(); }
private void InitializeComposition(string rootPath, string[] prefixes = null) { CompositionContainer = new CompositionContainer(_compositionModuleCreationStrategy, rootPath, prefixes); CompositionContainer.Compose(); }