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);
        }