public IEnumerable <NugetReference> GetNugetReferences() { var fileContents = _fileService.GetFileContents(); var jObject = JObject.Parse(fileContents); var targets = jObject.Property("targets").Value as JObject; var assets = new List <NugetReference>(); foreach (var x in targets) { foreach (var child in x.Value.Children()) { var jprop = (JProperty)child; var nugetReference = new NugetReference { Id = jprop.Name.Split('/')[0], Version = jprop.Name.Split('/')[1], }; var dependencies = new List <NugetReference>(); foreach (var childOfAsset in child.Children()) { var dependenciesNode = childOfAsset.Children().FirstOrDefault(c => ((JProperty)c).Name.Equals("dependencies")); if (dependenciesNode != null) { var nugetReferences = GetDependencies(dependenciesNode); dependencies.AddRange(nugetReferences); } } nugetReference.Dependencies = dependencies; assets.Add(nugetReference); } } return(assets); }
public void Add(NugetReference asset) { _referenceDepth.Add(asset); }