internal void Read(TextReader reader, string line, ref int curLineNum) { Line = curLineNum; int n = 0; FindNext(curLineNum, line, ref n, '('); n++; FindNext(curLineNum, line, ref n, '"'); int n2 = n + 1; FindNext(curLineNum, line, ref n2, '"'); TypeGuid = line.Substring(n + 1, n2 - n - 1); n = n2 + 1; FindNext(curLineNum, line, ref n, ')'); FindNext(curLineNum, line, ref n, '='); FindNext(curLineNum, line, ref n, '"'); n2 = n + 1; FindNext(curLineNum, line, ref n2, '"'); Name = line.Substring(n + 1, n2 - n - 1); n = n2 + 1; FindNext(curLineNum, line, ref n, ','); FindNext(curLineNum, line, ref n, '"'); n2 = n + 1; FindNext(curLineNum, line, ref n2, '"'); FilePath = line.Substring(n + 1, n2 - n - 1); n = n2 + 1; FindNext(curLineNum, line, ref n, ','); FindNext(curLineNum, line, ref n, '"'); n2 = n + 1; FindNext(curLineNum, line, ref n2, '"'); Id = line.Substring(n + 1, n2 - n - 1); while ((line = reader.ReadLine()) != null) { curLineNum++; line = line.Trim(); if (line == "EndProject") { return; } if (line.StartsWith("ProjectSection", StringComparison.Ordinal)) { if (_sections == null) { _sections = new SlnSectionCollection(); } var sec = new SlnSection(); _sections.Add(sec); sec.Read(reader, line, ref curLineNum); } } throw new InvalidSolutionFormatException(curLineNum, LocalizableStrings.ProjectSectionNotClosedError); }