private Task <StartupProjectRegistrar> CreateInitializedInstanceAsync(Guid projectGuid, IVsStartupProjectsListService vsStartupProjectsListService, params IDebugLaunchProvider[] launchProviders) { var projectGuidService = IProjectGuidService2Factory.ImplementGetProjectGuidAsync(projectGuid); var debuggerLaunchProviders = new DebuggerLaunchProviders(ConfiguredProjectFactory.Create()); int orderPrecedence = 0; foreach (IDebugLaunchProvider launchProvider in launchProviders) { debuggerLaunchProviders.Debuggers.Add(launchProvider, orderPrecedence: orderPrecedence++); } return(CreateInitializedInstanceAsync(vsStartupProjectsListService: vsStartupProjectsListService, projectGuidService: projectGuidService, launchProviders: ActiveConfiguredProjectFactory.ImplementValue(() => debuggerLaunchProviders))); }
private StartupProjectRegistrar CreateInstance( IAsyncServiceProvider serviceProvider = null, IVsStartupProjectsListService vsStartupProjectsListService = null, IProjectThreadingService threadingService = null, IProjectGuidService2 projectGuidService = null, IActiveConfiguredProjectSubscriptionService projectSubscriptionService = null, ActiveConfiguredProject <DebuggerLaunchProviders> launchProviders = null) { if (serviceProvider == null) { var sp = new IAsyncServiceProviderMoq(); sp.AddService(typeof(SVsStartupProjectsListService), vsStartupProjectsListService ?? IVsStartupProjectsListServiceFactory.Create()); serviceProvider = sp; } return(new StartupProjectRegistrar( serviceProvider, threadingService ?? new IProjectThreadingServiceMock(), projectGuidService ?? IProjectGuidService2Factory.ImplementGetProjectGuidAsync(Guid.NewGuid()), projectSubscriptionService ?? IActiveConfiguredProjectSubscriptionServiceFactory.Create(), launchProviders)); }