private EnvDTE.Properties TryGetStartupProjectProperties()
        {
            try
            {
                IVsSolutionBuildManager solutionBuildManager = GetGlobalService(typeof(SVsSolutionBuildManager)) as IVsSolutionBuildManager;
                if (solutionBuildManager == null)
                {
                    return(null);
                }

                IVsHierarchy startupProject;
                if (ErrorHandler.Failed(solutionBuildManager.get_StartupProject(out startupProject)) || startupProject == null)
                {
                    return(null);
                }

                EnvDTE.Properties properties = TryGetDtePropertiesFromHierarchy(startupProject);
                return(properties);
            }
            catch (Exception ex)
            {
                if (ErrorHandler.IsCriticalException(ex))
                {
                    throw;
                }

                return(null);
            }
        }
        private static IVsHierarchy GetStartupProjectHierarchy()
        {
            IVsSolutionBuildManager build = DockableCLArgsPackage.GetGlobalService(typeof(SVsSolutionBuildManager)) as IVsSolutionBuildManager;
            IVsHierarchy            hierarchy;

            if (ErrorHandler.Failed(build.get_StartupProject(out hierarchy)))
            {
                return(null);
            }

            return(hierarchy);
        }
        //  -----------------------------------------------------
        /// <summary>
        /// Gets the hierarchy item corresponding to the startup project in
        /// the solution.
        /// </summary>
        /// <param name="sp">
        /// The service provider to use.
        /// </param>
        /// <returns>
        /// The startup project in the solution.
        /// </returns>
        public static HierarchyItem GetStartupProject(IServiceProvider sp)
        {
            IVsSolutionBuildManager manager =
                (IVsSolutionBuildManager)sp.GetService(
                    typeof(SVsSolutionBuildManager));

            IVsHierarchy hierarchy;

            manager.get_StartupProject(out hierarchy);

            if (hierarchy != null)
            {
                return(new HierarchyItem(hierarchy));
            }
            else
            {
                return(null);
            }
        }
Exemple #4
0
        public static VsItemInfo GetStartupProject()
        {
            ThreadHelper.ThrowIfNotOnUIThread();

            VsItemInfo startupProject = null;
            IVsSolutionBuildManager solutionBuildManager = GetVsSolutionBuildManager();

            if (solutionBuildManager != null)
            {
                IVsHierarchy value   = null;
                bool         success = Success(solutionBuildManager.get_StartupProject(out value));

                if (success && value != null)
                {
                    startupProject = new VsItemInfo(value);
                }
            }

            return(startupProject);
        }
Exemple #5
0
        public static bool IsStartupProject(HierarchyItemIdentity hierarchyIdentity)
        {
            IVsHierarchy hierarchy;

            if (!IsProject(hierarchyIdentity))
            {
                return(false);
            }
            IVsSolutionBuildManager solutionBuildManager = GlobalServices.SolutionBuildManager;

            if (solutionBuildManager == null)
            {
                return(false);
            }
            if ((solutionBuildManager.get_StartupProject(out hierarchy) < 0) || (hierarchy == null))
            {
                return(false);
            }
            HierarchyItemIdentity identity = HierarchyItemIdentity.Create(hierarchy, 0xfffffffe);

            return(hierarchyIdentity.Equals(identity));
        }