public SolutionBuildMonitor(VisualStudioWorkspace workspace) { var notificationService = workspace.Services.GetService <IGlobalOperationNotificationService>() as GlobalOperationNotificationService; if (notificationService != null) { _notificationService = notificationService; KnownUIContexts.SolutionBuildingContext.UIContextChanged += SolutionBuildingContextChanged; } }
public void Dispose() { if (_operation != null) { _operation.Dispose(); _operation = null; } if (_notificationService != null) { _notificationService = null; KnownUIContexts.SolutionBuildingContext.UIContextChanged -= SolutionBuildingContextChanged; } }
public void Dispose() { foreach (var globalOperation in _operations.Values) { globalOperation.Dispose(); } _operations.Clear(); if (_notificationService != null) { _notificationService = null; KnownUIContexts.SolutionBuildingContext.UIContextChanged -= SolutionBuildingContextChanged; KnownUIContexts.SolutionOpeningContext.UIContextChanged -= SolutionOpeningContextChanged; } }
public GlobalOperationRegistration(GlobalOperationNotificationService service) => _service = service;