Exemplo n.º 1
0
		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;
		}
Exemplo n.º 2
0
        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);
            }
        }