public string Resolve()
        {
            NuGetInlineParameters instance = new NuGetInlineParameters
            {
                Dependencies = new NuGetInlineDependenciesCollection(),
                Files        = new NuGetInlineFilesCollection()
            };

            this.parameters(instance);
            return(this.Resolve(instance));
        }
        private string Resolve(NuGetInlineParameters data)
        {
            XNamespace xmlns = "http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd";
            string     path  = Container.Storage.Temp.New(".nuspec");

            XElement files        = new XElement(xmlns + "files");
            XElement dependencies = new XElement(xmlns + "dependencies");

            foreach (string target in data.Files.Targets)
            {
                foreach (string file in data.Files[target].Execute())
                {
                    files.Add(
                        new XElement(xmlns + "file",
                                     new XAttribute("src", file.Backslash()),
                                     new XAttribute("target", target)));
                }
            }

            foreach (NuGetPackage package in data.Dependencies.Packages)
            {
                dependencies.Add(
                    new XElement(xmlns + "dependency",
                                 new XAttribute("id", package.Id),
                                 new XAttribute("version", package.Version)));
            }

            XDocument document =
                new XDocument(
                    new XDeclaration("1.0", Encoding.UTF8.BodyName, "yes"),
                    new XElement(xmlns + "package",
                                 new XElement(xmlns + "metadata",
                                              new XElement(xmlns + "id", data.Id),
                                              new XElement(xmlns + "version", data.Version),
                                              new XElement(xmlns + "authors", data.Authors),
                                              new XElement(xmlns + "description", data.Description),
                                              dependencies),
                                 files));

            Container.Storage.WriteText(path, document.ToString());
            return(path);
        }