private PackageRestoreProgressTrackerInstance CreateInstance(ConfiguredProject?project = null, IDataProgressTrackerService?dataProgressTrackerService = null, IPackageRestoreService?packageRestoreService = null, IProjectSubscriptionService?projectSubscriptionService = null)
        {
            project ??= ConfiguredProjectFactory.Create();
            dataProgressTrackerService ??= IDataProgressTrackerServiceFactory.Create();
            packageRestoreService ??= IPackageRestoreServiceFactory.Create();
            projectSubscriptionService ??= IProjectSubscriptionServiceFactory.Create();

            return(new PackageRestoreProgressTrackerInstance(
                       project,
                       dataProgressTrackerService,
                       packageRestoreService,
                       projectSubscriptionService));
        }
        private async Task <bool> OnRestoreCompleted(IProjectSnapshot projectSnapshot, RestoreData restoreData)
        {
            bool result = false;
            var  dataProgressTrackerService = IDataProgressTrackerServiceFactory.ImplementNotifyOutputDataCalculated(_ => { result = true; });

            var instance = await CreateInitializedInstance(dataProgressTrackerService : dataProgressTrackerService);

            var tuple = ValueTuple.Create(projectSnapshot, restoreData);
            var value = IProjectVersionedValueFactory.Create(tuple);

            instance.OnRestoreCompleted(value);

            return(result);
        }
        private static WorkspaceProjectContextHostInstance CreateInstance(ConfiguredProject?project = null, IProjectThreadingService?threadingService = null, IUnconfiguredProjectTasksService?tasksService = null, IProjectSubscriptionService?projectSubscriptionService = null, IActiveEditorContextTracker?activeWorkspaceProjectContextTracker = null, IWorkspaceProjectContextProvider?workspaceProjectContextProvider = null, IApplyChangesToWorkspaceContext?applyChangesToWorkspaceContext = null)
        {
            project ??= ConfiguredProjectFactory.Create();
            threadingService ??= IProjectThreadingServiceFactory.Create();
            tasksService ??= IUnconfiguredProjectTasksServiceFactory.Create();
            projectSubscriptionService ??= IProjectSubscriptionServiceFactory.Create();
            activeWorkspaceProjectContextTracker ??= IActiveEditorContextTrackerFactory.Create();
            workspaceProjectContextProvider ??= IWorkspaceProjectContextProviderFactory.ImplementCreateProjectContextAsync(IWorkspaceProjectContextAccessorFactory.Create());
            applyChangesToWorkspaceContext ??= IApplyChangesToWorkspaceContextFactory.Create();
            IDataProgressTrackerService dataProgressTrackerService = IDataProgressTrackerServiceFactory.Create();

            return(new WorkspaceProjectContextHostInstance(project,
                                                           threadingService,
                                                           tasksService,
                                                           projectSubscriptionService,
                                                           workspaceProjectContextProvider,
                                                           activeWorkspaceProjectContextTracker,
                                                           ExportFactoryFactory.ImplementCreateValueWithAutoDispose(() => applyChangesToWorkspaceContext),
                                                           dataProgressTrackerService));
        }
コード例 #4
0
        private PackageRestoreProgressTrackerInstance CreateInstance(ConfiguredProject?project = null, IDataProgressTrackerService?dataProgressTrackerService = null, IPackageRestoreDataSource?packageRestoreDataSource = null, IProjectSubscriptionService?projectSubscriptionService = null)
        {
            project ??= ConfiguredProjectFactory.Create();
            dataProgressTrackerService ??= IDataProgressTrackerServiceFactory.Create();
            packageRestoreDataSource ??= IPackageRestoreServiceFactory.Create();
            projectSubscriptionService ??= IProjectSubscriptionServiceFactory.Create();

            IProjectThreadingService    threadingService           = IProjectThreadingServiceFactory.Create();
            IProjectFaultHandlerService projectFaultHandlerService = IProjectFaultHandlerServiceFactory.Create();
            IConfiguredProjectPackageRestoreTelemetryService packageReferenceTelemetryService = IConfiguredProjectPackageRestoreTelemetryServiceFactory.Create();

            return(new PackageRestoreProgressTrackerInstance(
                       project,
                       threadingService,
                       projectFaultHandlerService,
                       dataProgressTrackerService,
                       packageRestoreDataSource,
                       projectSubscriptionService,
                       packageReferenceTelemetryService,
                       packageRestoreProgressTrackerId: 0));
        }