public IEnumerable <Package> ExtractPackages(DotNetXMLDoc xmlDoc) { foreach (XmlNode packageNode in xmlDoc.SelectNodes("//package")) { string id = packageNode.Attributes["id"].Value; string version = packageNode.Attributes["version"].Value; string dotNetVersion = packageNode.Attributes["targetFramework"]?.Value; yield return(new Package(id, VersionWithSuffix.TryParse(version), DotNetVersion.TryParse(dotNetVersion))); } }
public IEnumerable <Reference> ExtractFileReferences(DotNetXMLDoc csProjXML) { foreach (XmlNode refNode in csProjXML.SelectNodes("//Reference")) { var include = refNode.Attributes["Include"].Value; var hintPath = csProjXML.SelectSingleNode(refNode, "HintPath"); if (hintPath != null) { yield return(new Reference(csProjXML.File.Directory, ParseReferenceInclude(include), hintPath?.InnerText ?? "")); } } }