void LoadNestedProjects (Section sec, List<string> lines,
IDictionary<string, SolutionItem> entries, IProgressMonitor monitor)
{
if (sec == null || String.Compare (sec.Val, "preSolution", true) != 0)
return;
for (int i = 0; i < sec.Count - 2; i ++) {
// Guids should be upper case for VS compatibility
KeyValuePair<string, string> pair = SplitKeyValue (lines [i + sec.Start + 1].Trim ());
pair = new KeyValuePair<string, string> (pair.Key.ToUpper (), pair.Value.ToUpper ());
SolutionItem folderItem;
SolutionItem item;
if (!entries.TryGetValue (pair.Value, out folderItem)) {
//Container not found
LoggingService.LogWarning (GettextCatalog.GetString ("Project with guid '{0}' not found.", pair.Value));
continue;
}
SolutionFolder folder = folderItem as SolutionFolder;
if (folder == null) {
LoggingService.LogWarning (GettextCatalog.GetString ("Item with guid '{0}' is not a folder.", pair.Value));
continue;
}
if (!entries.TryGetValue (pair.Key, out item)) {
//Containee not found
LoggingService.LogWarning (GettextCatalog.GetString ("Project with guid '{0}' not found.", pair.Key));
continue;
}
folder.Items.Add (item);
}
}