【发布时间】:2012-03-17 05:33:43
【问题描述】:
我需要以编程方式确定程序集是 x86、x64 还是 AnyCPU?有一个几乎相同的question,但它提供的解决方案
Assembly assembly = Assembly.LoadFrom(fileName);
PortableExecutableKinds peKind;
ImageFileMachine imageFileMachine;
assembly.ManifestModule.GetPEKind(out peKind, out imageFileMachine);
尝试从 32 位进程加载 64 位程序集时失败(反之亦然)。
有没有一种万无一失的方法来以编程方式找出程序集的编译类型?
编辑:根据@BenVoigt 的建议,我创建了一个small command line utility 来检查DLL 是否被管理以及它的x86/x64/AnyCPU。我希望有人觉得它有用。
【问题讨论】:
-
@BenVoigt 这很可能是一个答案,而不是评论:)
-
@BenVoigt 我现在做了,你是绝对正确的。让它成为答案,我会接受的。
标签: c# .net compilation x86-64