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;
            }
        }
Exemple #4
0
 public GlobalOperationRegistration(GlobalOperationNotificationService service)
 => _service = service;