/// <summary> /// Initializes the singleton instance of the command. /// </summary> /// <param name="serviceProvider">Owner package, not null.</param> public static async Task InitializeAsync(Microsoft.VisualStudio.Shell.IAsyncServiceProvider serviceProvider) { Assumes.Present(serviceProvider); _instance = new SolutionRestoreCommand(); var componentModel = await serviceProvider.GetComponentModelAsync(); componentModel.DefaultCompositionService.SatisfyImportsOnce(_instance); await _instance.SubscribeAsync(serviceProvider); }
// A factory method invoked internally only internal static async Task <IDisposable> InitializeAsync(Microsoft.VisualStudio.Shell.IAsyncServiceProvider serviceProvider) { Assumes.Present(serviceProvider); var instance = new SolutionRestoreBuildHandler(); var componentModel = await serviceProvider.GetComponentModelAsync(); componentModel.DefaultCompositionService.SatisfyImportsOnce(instance); await instance.SubscribeAsync(serviceProvider); return(instance); }
public void UpdateSolution_QueryDelayBuildAction(uint dwAction, out IVsTask pDelayTask) { if (!_isMEFInitialized) { ThreadHelper.JoinableTaskFactory.Run(async() => { var componentModel = await _serviceProvider.GetComponentModelAsync(); componentModel.DefaultCompositionService.SatisfyImportsOnce(this); }); _isMEFInitialized = true; } pDelayTask = SolutionRestoreWorker.Value.JoinableTaskFactory.RunAsyncAsVsTask( VsTaskRunContext.UIThreadBackgroundPriority, (token) => RestoreAsync(dwAction, token)); }
/// <summary> /// Initialize all MEF imports for this package and also add required event handlers. /// </summary> private async Task InitializeMEFAsync() { _initialized = true; var componentModel = await _asyncServiceProvider.GetComponentModelAsync(); Assumes.Present(componentModel); componentModel.DefaultCompositionService.SatisfyImportsOnce(this); var experimentationService = NuGetExperimentationService.Value; await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); Brushes.LoadVsBrushes(experimentationService); _dte = await _asyncServiceProvider.GetServiceAsync <SDTE, DTE>(); Assumes.Present(_dte); _dteEvents = _dte.Events.DTEEvents; //_dteEvents.OnBeginShutdown += OnBeginShutDown; if (SolutionManager.Value.NuGetProjectContext == null) { SolutionManager.Value.NuGetProjectContext = ProjectContext.Value; } // when NuGet loads, if the current solution has some package // folders marked for deletion (because a previous uninstalltion didn't succeed), // delete them now. if (await SolutionManager.Value.IsSolutionOpenAsync()) { await DeleteOnRestartManager.Value.DeleteMarkedPackageDirectoriesAsync(ProjectContext.Value); } //ProjectRetargetingHandler = new ProjectRetargetingHandler(_dte, SolutionManager.Value, this, componentModel); //ProjectUpgradeHandler = new ProjectUpgradeHandler(this, SolutionManager.Value); SolutionUserOptions.Value.LoadSettings(); }
private async Task InitializeMEFAsync() { var componentModel = await _serviceProvider.GetComponentModelAsync(); componentModel.DefaultCompositionService.SatisfyImportsOnce(_instance); }