public static bool DoesSolutionItemHaveProjects(this Project solutionItem) { if (solutionItem == null || solutionItem.ProjectItems.Count == 0) { return(false); } bool hasValidProjects = false; foreach (ProjectItem projectItem in solutionItem.ProjectItems) { if (projectItem.Object is Project) { Project thisProject = projectItem.Object as Project; VSProjectType vsProjType = VSUtils.DetermineProjectType(thisProject.Kind); switch (vsProjType) { case VSProjectType.VBProject: case VSProjectType.VJSharpProject: case VSProjectType.CPlusPlusProject: case VSProjectType.CSharpProject: case VSProjectType.FSharpProject: case VSProjectType.SDECSharpProject: case VSProjectType.SDEVBProject: return(true); } } } return(hasValidProjects); }
public static bool IsSolutionFolder(this ProjectItem solutionItem) { if (solutionItem == null) { return(false); } return((solutionItem.Object is Project) ? false : VSUtils.DetermineProjectType(solutionItem.Kind) == VSProjectType.SolutionItems); }
public static VSProjectType GetProjectType(this Project project) { return(VSUtils.DetermineProjectType(project.Kind)); }