internal static void FindReferencedAssemblies(XElement AXML, string APath) { string ReferencedAssemblyName, ReferencedPublicKeyToken, ReferencedArch, ReferencedLang, ReferencedVersion, ReferencedVersionScope; LogDebug("Checking XML path for assembly references: " + APath); foreach (var CurrentElement in AXML.XPathSelectElements(APath)) { ReferencedAssemblyName = CurrentElement.Attribute("name").Value; ReferencedPublicKeyToken = CurrentElement.Attribute("publicKeyToken").Value; ReferencedArch = CurrentElement.Attribute("processorArchitecture").Value; ReferencedLang = CurrentElement.Attribute("language").Value; ReferencedVersion = CurrentElement.Attribute("version").Value; ReferencedVersionScope = "none"; if (CurrentElement.Attributes("versionScope").Any()) { ReferencedVersionScope = CurrentElement.Attribute("versionScope").Value; } if (ReferencedLang == "*" && !IncludeRes) { // Handle /INCLUDERES switch by exiting here. LogError("Appears to be a MUI reference - skipping: " + ReferencedAssemblyName); return; } else { RecurseManifestHierarchy(ReferencedAssemblyName, ReferencedPublicKeyToken, ReferencedArch, ReferencedLang, ReferencedVersion, ReferencedVersionScope); } } }