private void CreateProjects(List <string> mainSolutionText) { RaiseDocumentationGenerationStepDoneEvent(1, "Parsing projects..."); foreach (string lineOfText in mainSolutionText) { if (lineOfText.ToLower().StartsWith(PROJECT_HEADER)) { string[] splittedLine = lineOfText.Substring(lineOfText.LastIndexOf('=') + 1, lineOfText.Length - lineOfText.LastIndexOf('=') - 1).Split(','); if (splittedLine.Length >= 3) { string projectName = splittedLine[0].Trim('\"', ' '); string projectRelPath = splittedLine[1].Trim('\"', ' '); string projectGUID = splittedLine[2].Trim('\"', ' '); string fullProjectPath = Path.Combine(m_SolutionFile.DirectoryName, projectRelPath); if (File.Exists(fullProjectPath)) { FileInfo projFile = new FileInfo(fullProjectPath); Project.LangageType projLangage = GetLangageFromFile(projFile.Extension); Project nextAddedProject = new Project(projectGUID, projectName, fullProjectPath, projLangage); m_SolutionProjects.Add(nextAddedProject); m_NumberOfProjectFound++; } } } } RaiseDocumentationGenerationStepDoneEvent(1, "Done Parsing projects."); }
private Project.LangageType GetLangageFromFile(string extension) { Project.LangageType retLangage = Project.LangageType.CS; switch (extension) { case ".vcxproj": retLangage = Project.LangageType.CPP; break; case ".vbproj": retLangage = Project.LangageType.VB; break; case ".csproj": retLangage = Project.LangageType.CS; break; default: break; } return(retLangage); }