public void Pack(PackArgs args) { string filename = args.Nuspec; FileStream stream = new FileStream(filename, FileMode.Open); XDocument nuspec = XDocument.Load(stream); IXmlNamespaceResolver resolver = CreateNamespaceResolver(); string id = nuspec.XPathSelectElement("nuget:package/nuget:metadata/nuget:id", resolver).Value; string version = nuspec.XPathSelectElement("nuget:package/nuget:metadata/nuget:version", resolver).Value; Uri partUri = PackUriHelper.CreatePartUri(new Uri("/" + id + ".nuspec", UriKind.Relative)); string packagePath = id + "." + version + ".nupkg"; using (Package package = Package.Open(packagePath, FileMode.Create)) { PackagePart packagePart = package.CreatePart(partUri, MediaTypeNames.Text.Xml); using (XmlWriter writer = XmlWriter.Create(packagePart.GetStream(), new XmlWriterSettings { Indent = true })) { nuspec.WriteTo(writer); } } }