private static void AddFiles(XmlDocument document, System.Deployment.Application.Manifest.File[] files) { XmlNamespaceManager namespaceMgr = ManifestGenerator.GetNamespaceMgr(document); XmlElement assemblyNode = (XmlElement)document.SelectSingleNode("/asmv1:assembly", namespaceMgr); foreach (System.Deployment.Application.Manifest.File file in files) { ManifestGenerator.AddFile(document, assemblyNode, file); } }
private static void AddDependencies(XmlDocument document, DependentAssembly[] dependentAssemblies) { Hashtable hashtable = new Hashtable(); XmlNamespaceManager namespaceMgr = ManifestGenerator.GetNamespaceMgr(document); XmlElement xmlElement = (XmlElement)document.SelectSingleNode("/asmv1:assembly", namespaceMgr); foreach (DependentAssembly dependentAssembly in dependentAssemblies) { if (!hashtable.Contains((object)dependentAssembly.Identity)) { XmlElement element1 = document.CreateElement("dependency", "urn:schemas-microsoft-com:asm.v1"); xmlElement.AppendChild((XmlNode)element1); XmlElement element2 = document.CreateElement("dependentAssembly", "urn:schemas-microsoft-com:asm.v1"); element1.AppendChild((XmlNode)element2); ReferenceIdentity identity = dependentAssembly.Identity; DefinitionIdentity asmId = new DefinitionIdentity(identity); XmlElement assemblyIdentityElement = ManifestGenerator.CreateAssemblyIdentityElement(document, asmId); element2.AppendChild((XmlNode)assemblyIdentityElement); hashtable.Add((object)identity, (object)asmId); } } }