Detect whether the assembly was built for .NET Compact Framework
问题 Having a .NET assembly, how can I detect whether it was built for .NET CF or a full framework? 回答1: It's quite simple: public enum AssemblyType { CompactFramework, FullFramework, NativeBinary } public AssemblyType GetAssemblyType(string pathToAssembly) { try { Assembly asm = Assembly.LoadFrom(pathToAssembly); var mscorlib = asm.GetReferencedAssemblies().FirstOrDefault(a => string.Compare(a.Name, "mscorlib", true) == 0); ulong token = BitConverter.ToUInt64(mscorlib.GetPublicKeyToken(), 0);