CCNet.ProjectAdapter.Program.UpdateProjectReferences C# (CSharp) Method

UpdateProjectReferences() private static method

Updates project references.
private static UpdateProjectReferences ( ) : void
return void
		private static void UpdateProjectReferences()
		{
			string text = File.ReadAllText(Paths.ProjectFile);

			XmlDocument doc = new XmlDocument();
			doc.LoadXml(text);

			XmlNamespaceManager xnm = new XmlNamespaceManager(doc.NameTable);
			xnm.AddNamespace("ms", "http://schemas.microsoft.com/developer/msbuild/2003");

			foreach (XmlNode node in doc.SelectNodes("/ms:Project/ms:ItemGroup/ms:ProjectReference", xnm))
			{
				string include = node.Attributes["Include"].Value;

				string relatedProjectFile = Path.GetFileName(include);
				string relatedProjectName = Path.GetFileNameWithoutExtension(include);
				string relatedProjectVersion = ReferenceFolder.GetLatestVersion(
					Arguments.InternalReferencesPath,
					relatedProjectName);

				include = Path.Combine(Arguments.WorkingDirectoryRelated, relatedProjectName, relatedProjectFile);
				node.Attributes["Include"].Value = include;

				UpdateBinaryReferences(include, false);

				Console.WriteLine(
					Resources.LogReferencesTo,
					relatedProjectFile,
					relatedProjectName,
					relatedProjectVersion);
			}

			using (XmlTextWriter xtw = new XmlTextWriter(Paths.ProjectFile, Encoding.UTF8))
			{
				xtw.Formatting = Formatting.Indented;
				doc.WriteTo(xtw);
			}
		}