在.net 6之前,我可以通过以下方式获得当前程序集的处理器架构(例如MSIL,Amd64):
Assembly.GetExecutingAssembly().GetName().ProcessorArchitecture
obsolete since .net7。
有人建议使用命名空间System.Reflection.Metadata
中的一些东西。但是不清楚如何获取ProcessorArchitecture
。
如何获取这段信息?最好不用给予出程序集名称。
在.net 6之前,我可以通过以下方式获得当前程序集的处理器架构(例如MSIL,Amd64):
Assembly.GetExecutingAssembly().GetName().ProcessorArchitecture
obsolete since .net7。
有人建议使用命名空间System.Reflection.Metadata
中的一些东西。但是不清楚如何获取ProcessorArchitecture
。
如何获取这段信息?最好不用给予出程序集名称。
2条答案
按热度按时间6g8kf2rb1#
你可以从
Module
信息中得到这一点,它代表了实际的DLL。它有一个GetPEKind
函数,该函数返回关于编译它的体系结构的信息。dotnetfiddle
请注意,理论上,一个程序集可以有多个模块,尽管这并不常见。
9lowa7mx2#
PE文件头中也有类似的内容,
Machine
的值可以在this reference中找到。