public void OnBuildBegin(BuildInfo buildContext) { _buildState = BuildState.InProgress; _buildInfo = buildContext; int projectsCount = -1; switch (buildContext.BuildScope) { case vsBuildScope.vsBuildScopeSolution: if (ControlSettings.GeneralSettings.FillProjectListOnBuildBegin) { projectsCount = ProjectsList.Count; } else { try { Solution solution = SolutionItem.StorageSolution; if (solution != null) { projectsCount = solution.GetProjects().Count; } } catch (Exception ex) { ex.Trace("Unable to count projects in solution."); } } break; case vsBuildScope.vsBuildScopeBatch: case vsBuildScope.vsBuildScopeProject: break; default: throw new ArgumentOutOfRangeException(); } BuildProgressViewModel.OnBuildBegin(projectsCount); }