public static HashSet <string> GetReferencedSolutionFolders(this SlnProjectCollection projects) { var referencedSolutionFolders = new HashSet <string>(); var solutionFolderProjects = projects .Where(p => p.TypeGuid == ProjectTypeGuids.SolutionFolderGuid) .ToList(); if (solutionFolderProjects.Any()) { var nonSolutionFolderProjects = projects .Where(p => p.TypeGuid != ProjectTypeGuids.SolutionFolderGuid) .ToList(); foreach (var project in nonSolutionFolderProjects) { var solutionFolders = project.GetSolutionFoldersFromProject(); foreach (var solutionFolder in solutionFolders) { if (!referencedSolutionFolders.Contains(solutionFolder)) { referencedSolutionFolders.Add(solutionFolder); } } } } return(referencedSolutionFolders); }
public static IEnumerable <SlnProject> GetProjectsNotOfType( this SlnProjectCollection projects, string typeGuid) { return(projects.Where(p => p.TypeGuid != typeGuid)); }