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);
}
}