private static async Task <IContainer> CreateContainerV3Async(ComposableCatalog catalog, CompositionEngines options, ITestOutputHelper output) { Requires.NotNull(catalog, nameof(catalog)); Requires.NotNull(output, nameof(output)); var catalogWithCompositionService = catalog #if DESKTOP .WithCompositionService() #endif ; var configuration = CompositionConfiguration.Create(catalogWithCompositionService); if (!options.HasFlag(CompositionEngines.V3AllowConfigurationWithErrors)) { configuration.ThrowOnErrors(); } #if DGML string dgmlFile = System.IO.Path.GetTempFileName() + ".dgml"; configuration.CreateDgml().Save(dgmlFile); output.WriteLine("DGML saved to: " + dgmlFile); #endif var container = await configuration.CreateContainerAsync(output); return(new V3ContainerWrapper(container, configuration)); }
private static IExportProviderFactory CreateExportProviderFactory(ComposableCatalog catalog) { var configuration = CompositionConfiguration.Create(catalog.WithCompositionService()); var runtimeComposition = RuntimeComposition.CreateRuntimeComposition(configuration); var exportProviderFactory = runtimeComposition.CreateExportProviderFactory(); return(new SingleExportProviderFactory(catalog, exportProviderFactory)); }
public static IExportProviderFactory CreateExportProviderFactory(ComposableCatalog catalog, bool isRemoteHostComposition) { var scope = isRemoteHostComposition ? _remoteCompositionScope : _localCompositionScope; var configuration = CompositionConfiguration.Create(catalog.WithCompositionService()); var runtimeComposition = RuntimeComposition.CreateRuntimeComposition(configuration); var exportProviderFactory = runtimeComposition.CreateExportProviderFactory(); return(new SingleExportProviderFactory(scope, catalog, configuration, exportProviderFactory)); }
public static ExportProvider CreateExportProvider(ComposableCatalog catalog) { // make sure we enable this for all unit tests AsynchronousOperationListenerProvider.Enable(true); var configuration = CompositionConfiguration.Create(catalog.WithCompositionService()); var runtimeComposition = RuntimeComposition.CreateRuntimeComposition(configuration); return(runtimeComposition.CreateExportProviderFactory().CreateExportProvider()); }