当前位置: 首页>>代码示例>>C#>>正文


C# vsBuildScope.Equals方法代码示例

本文整理汇总了C#中vsBuildScope.Equals方法的典型用法代码示例。如果您正苦于以下问题:C# vsBuildScope.Equals方法的具体用法?C# vsBuildScope.Equals怎么用?C# vsBuildScope.Equals使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在vsBuildScope的用法示例。


在下文中一共展示了vsBuildScope.Equals方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: buildBegin

        private void buildBegin(vsBuildScope scope, vsBuildAction action)
        {
            if(action == vsBuildAction.vsBuildActionBuild || action == vsBuildAction.vsBuildActionRebuildAll)
            {
                //
                // Ensure slice compiler is only run once for parallel builds;
                // no need to lock, this is always called from main thread.
                //
                if(!_sliceBuild)
                {
                    _sliceBuild = true;
                }
                else
                {
                    return;
                }
            }

            try
            {
                _building = true;
                _buildScope = scope;
                Project project = getSelectedProject();

                if(action == vsBuildAction.vsBuildActionBuild || action == vsBuildAction.vsBuildActionRebuildAll)
                {
                    if(scope.Equals(vsBuildScope.vsBuildScopeProject) ||
                       (project != null && project.Kind.Equals(EnvDTE80.ProjectKinds.vsProjectKindSolutionFolder)))
                    {
                        List<Project> projects = new List<Project>();
                        if(project.Kind.Equals(EnvDTE80.ProjectKinds.vsProjectKindSolutionFolder))
                        {
                            projects = Util.solutionFolderProjects(project);
                        }
                        else
                        {
                            projects.Add(project);
                        }

                        foreach(Project p in projects)
                        {
                            _buildProject = p;
                            if(p == null)
                            {
                                continue;
                            }

                            clearErrors(p);
                            if(action == vsBuildAction.vsBuildActionRebuildAll)
                            {
                                cleanProject(p, false);
                            }
                            buildProject(p, false, scope);

                            if(hasErrors(p))
                            {
                                bringErrorsToFront();
                                Util.write(project, Util.msgLevel.msgError,
                                    "------ Slice compilation contains errors. Build canceled. ------\n");
                                if (_connectMode == ext_ConnectMode.ext_cm_CommandLine)
                                {
                                    // Is this the best we can do? Is there a clean way to exit?
                                    Environment.Exit(-1);
                                }
                                _applicationObject.ExecuteCommand("Build.Cancel", "");
                            }
                        }
                    }
                    else
                    {
                        clearErrors();
                        List<Project> projects = Util.buildOrder(_applicationObject.Solution);
                        foreach(Project p in projects)
                        {
                            if(p != null)
                            {
                                if(!Util.isSliceBuilderEnabled(p))
                                {
                                    continue;
                                }
                                if(action == vsBuildAction.vsBuildActionRebuildAll)
                                {
                                    cleanProject(p, false);
                                }
                                buildProject(p, false, scope);
                            }
                        }
                        if(hasErrors())
                        {
                            bringErrorsToFront();
                            Util.write(null, Util.msgLevel.msgError,
                                "------ Slice compilation contains errors. Build canceled. ------\n");
                            if(_connectMode == ext_ConnectMode.ext_cm_CommandLine)
                            {
                                // Is this the best we can do? Is there a clean way to exit?
                                Environment.Exit(-1);
                            }
                            _applicationObject.ExecuteCommand("Build.Cancel", "");
                        }
                    }
//.........这里部分代码省略.........
开发者ID:bholl,项目名称:zeroc-ice,代码行数:101,代码来源:Builder.cs


注:本文中的vsBuildScope.Equals方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。