public ProjectFile Generate(IEnumerable <NuGetPackage> nuGetPackages, TargetFramework targetFramework) { using (var ms = new MemoryStream()) { using (var xw = GenerateDefaultXmlWriter(ms)) { xw.WriteStartDocument(); xw.WriteStartElement("packages"); string tfm = targetFramework == 0 ? null : targetFramework.ToTargetFrameworkMoniker(); foreach (var package in nuGetPackages) { xw.WriteStartElement("package"); xw.WriteAttributeString("id", package.Name); xw.WriteAttributeString("version", package.Version); if (package.AllowedVersions.IsNotNullOrWhiteSpace()) { xw.WriteAttributeString("allowedVersions", package.AllowedVersions); } if (!(tfm is null)) { xw.WriteAttributeString("targetFramework", tfm); } xw.WriteEndElement(); } xw.WriteEndElement(); xw.WriteEndDocument(); xw.Flush(); return(_projectFileFactory.FromStream(ms, "packages.config", "None")); } } }