private static List <ManifestReferenceSet> ReadReferenceSets(XElement referencesElement) { if (!referencesElement.HasElements) { return(new List <ManifestReferenceSet>(0)); } if (referencesElement.ElementsNoNamespace("group").Any() && referencesElement.ElementsNoNamespace("reference").Any()) { throw new InvalidDataException(NuGetResources.Manifest_ReferencesHasMixedElements); } var references = ReadReference(referencesElement, throwIfEmpty: false); if (references.Count > 0) { // old format, <reference> is direct child of <references> var referenceSet = new ManifestReferenceSet { References = references }; return(new List <ManifestReferenceSet> { referenceSet }); } else { var groups = referencesElement.ElementsNoNamespace("group"); return((from element in groups select new ManifestReferenceSet { TargetFramework = element.GetOptionalAttributeValue("targetFramework").SafeTrim(), References = ReadReference(element, throwIfEmpty: true) }).ToList()); } }
private static List<ManifestReferenceSet> ReadReferenceSets(XElement referencesElement) { if (!referencesElement.HasElements) { return new List<ManifestReferenceSet>(0); } if (referencesElement.ElementsNoNamespace("group").Any() && referencesElement.ElementsNoNamespace("reference").Any()) { throw new InvalidDataException(NuGetResources.Manifest_ReferencesHasMixedElements); } var references = ReadReference(referencesElement, throwIfEmpty: false); if (references.Count > 0) { // old format, <reference> is direct child of <references> var referenceSet = new ManifestReferenceSet { References = references }; return new List<ManifestReferenceSet> { referenceSet }; } else { var groups = referencesElement.ElementsNoNamespace("group"); return (from element in groups select new ManifestReferenceSet { TargetFramework = element.GetOptionalAttributeValue("targetFramework").SafeTrim(), References = ReadReference(element, throwIfEmpty: true) }).ToList(); } }