private void FindAndAddProjects(EnvDTE.Project vsProject, SolutionProxy solution) { for (int x = 1; x <= vsProject.ProjectItems.Count; x++) { var item = vsProject.ProjectItems.Item(x); if (item.SubProject != null) { if (IsVirtualFolder(item.SubProject.Kind)) { FindAndAddProjects(item.SubProject, solution); } else { AddProject(solution, item.SubProject); } } } }
private void AddProject(SolutionProxy solution, EnvDTE.Project vsProject) { var project = new ProjectProxy(vsProject.Name, solution); project.VsProject = vsProject; project.DirectoryPath = new System.IO.FileInfo(vsProject.FullName).Directory.FullName; project.RootNamespace = ParseRootNamespace(vsProject); solution.Projects.Add(project); for (int x = 1; x <= vsProject.ProjectItems.Count; x++) { var item = vsProject.ProjectItems.Item(x); if (item.Kind == EnvDTE.Constants.vsProjectItemKindPhysicalFolder) { AddSubFolderInProject(project, item); } else if (item.Kind == EnvDTE.Constants.vsProjectItemKindPhysicalFile) { AddFileToFolder(project, item); } } }
public Solution NewSolution(string path) { var solution = new SolutionProxy(path); solution.VsSolution = dte.Solution; solution.Path = dte.Solution.FullName; for (int i = 1; i <= dte.Solution.Projects.Count; i++) { var vsProject = dte.Solution.Projects.Item(i); if (IsVirtualFolder(vsProject.Kind)) { FindAndAddProjects(vsProject, solution); } else if (vsProject.FullName != null && vsProject.FullName != string.Empty) { AddProject(solution, vsProject); } } return(solution); }
public Solution NewSolution(string path) { var solution = new SolutionProxy(path); solution.VsSolution = dte.Solution; solution.Path = dte.Solution.FullName; for (int i = 1; i <= dte.Solution.Projects.Count; i++) { var vsProject = dte.Solution.Projects.Item(i); if (IsVirtualFolder(vsProject.Kind)) { FindAndAddProjects(vsProject, solution); } else if (vsProject.FullName != null && vsProject.FullName != string.Empty) { AddProject(solution, vsProject); } } return solution; }