public static FrameworkType GetFrameworkType(ModuleDefMD module) { foreach (var modRef in module.GetAssemblyRefs()) { if (modRef.Name != "mscorlib") continue; if (PublicKeyBase.IsNullOrEmpty2(modRef.PublicKeyOrToken)) continue; switch (BitConverter.ToString(modRef.PublicKeyOrToken.Data).Replace("-", "").ToLowerInvariant()) { case "b77a5c561934e089": return FrameworkType.Desktop; case "7cec85d7bea7798e": return FrameworkType.Silverlight; case "969db8053d3322ac": return FrameworkType.CompactFramework; case "1c9e259686f921e0": return FrameworkType.XNA; case "e92a8b81eba7ceb7": return FrameworkType.Zune; } } return FrameworkType.Unknown; }
private void LoadDependencies(ModuleDefMD module) { if (seenModules.Contains(module.Location)) return; seenModules.Add(module.Location); Modules.Add(module); Resolver.AddToCache(module); foreach (var assemblyRef in module.GetAssemblyRefs()) { AssemblyDef assembly = Resolver.ResolveThrow(assemblyRef, null); foreach (var moduleRef in assembly.Modules) LoadDependencies((ModuleDefMD)moduleRef); } }