如何获取程序集 dll 的处理器架构?
我可以通过在 C# 中以编程方式加载 dll 来获取处理器架构吗?
有没有一个类可以做到这一点?
我需要了解 dll 是否是 x86、x64、MSIL 等。
Can I get the processor architecture by loading the dll programmatically in c#?
Is there a class that can do this?
I need to get wether the dll is x86, x64, MSIL etc..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
假设您只查看 .net 程序集,则可以使用 CorFlags.exe 用于查看图像的标题。
这篇博文解释了确定的用法如何读取结果。摘抄:
Assuming you are only looking at .net assemblies, you can use CorFlags.exe for look at the header of the image.
This blog post explains the usage to determing how to read the results. Excerpt:
试图通过加载程序集来找出答案是先有鸡还是先有蛋的命题。如果您没有收到 BadImageFormatException,那么拱门是合适的,您不再关心它是什么。如果确实出现异常,那么程序的配置就是错误的。在代码中你对此无能为力。
Trying to find out by loading the assembly is a chicken-and-egg proposition. If you don't get a BadImageFormatException then the arch is appropriate and you no longer care what it is. If you do get the exception then the program's configuration is wrong. Nothing you can do about that in code.
您还可以使用 FileStream 读取程序集文件。 Windows 可执行文件的格式在 Microsoft pe/coff 规范中指定。您可以在此处阅读:
http://www.microsoft.com/whdc /system/platform/firmware/pecoff.mspx
You can also read the assembly file using a FileStream. The format of windows executable files is specified in the Microsoft pe/coff spec. You can read it here:
http://www.microsoft.com/whdc/system/platform/firmware/pecoff.mspx