MonoDevelop.Projects.Formats.MSBuild.SlnFileFormat.LoadNestedProjects C# (CSharp) Méthode

LoadNestedProjects() public méthode

public LoadNestedProjects ( Section sec, List lines, SolutionItem>.IDictionary entries, IProgressMonitor monitor ) : void
sec Section
lines List
entries SolutionItem>.IDictionary
monitor IProgressMonitor
Résultat void
		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);
			}
		}