.NETアセンブリがMono.Cecilを使用して32ビットまたは64ビット用に特別に構築されているかどうかを確認できますか?または、最初にアセンブリをロードせずに見つける他の方法。
質問する
447 次
2 に答える
2
mono-ceciを使用すると、これを行うことができます(情報はモジュールごとに利用可能です)。
AssemblyDefinition asm = AssemblyFactory.GetAssembly("myassembly.dll");
foreach (ModuleDefinition module in asm.Modules)
{
Console.WriteLine("Module " + module.Name);
Console.WriteLine("IsPE64 " + module.Image.PEOptionalHeader.StandardFields.IsPE64);
}
于 2013-03-20T15:21:47.750 に答える
2
moduleDefinition.Architecture
タイプのTargetArchitecture
魔女は次のように定義されます:
public enum TargetArchitecture {
I386,
AMD64,
IA64,
ARMv7,
}
moduleDefinition.Attributes
タイプの別のプロパティがありますModuleAttributes
:
[Flags]
public enum ModuleAttributes {
ILOnly = 1,
Required32Bit = 2,
StrongNameSigned = 8,
Preferred32Bit = 0x00020000,
}
于 2018-07-17T09:51:49.057 に答える