public InProcRemoteHostClientProvider(HostWorkspaceServices services) { _services = services; _lazyClient = new AsyncLazy <RemoteHostClient?>(cancellationToken => { var optionService = _services.GetRequiredService <IOptionService>(); if (optionService.GetOption(RemoteTestHostOptions.RemoteHostTest)) { return(InProcRemoteHostClient.CreateAsync(_services, runCacheCleanup: false).AsNullable()); } return(SpecializedTasks.Null <RemoteHostClient>()); }, cacheResult: true); }
public InProcRemoteHostClientProvider(HostWorkspaceServices services, RemoteServiceCallbackDispatcherRegistry callbackDispatchers) { _services = services; var testSerializerServiceFactory = ((IMefHostExportProvider)services.HostServices).GetExportedValue <TestSerializerService.Factory>(); _lazyManager = new Lazy <WorkspaceManager>( () => new WorkspaceManager( RemoteAssetStorage ?? new SolutionAssetCache(), testSerializerServiceFactory.SharedTestGeneratorReferences, AdditionalRemoteParts)); _lazyClient = new AsyncLazy <RemoteHostClient>( cancellationToken => InProcRemoteHostClient.CreateAsync( _services, callbackDispatchers, TraceListener, new RemoteHostTestData(_lazyManager.Value, isInProc: true)), cacheResult: true); }