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); } } }
private static void InjectIdentityXml(XmlDocument document, DefinitionIdentity asmId) { XmlElement assemblyIdentityElement = ManifestGenerator.CreateAssemblyIdentityElement(document, asmId); document.DocumentElement.AppendChild((XmlNode)assemblyIdentityElement); }