如何以编程方式检测DLL是否在.NET中编译为32位或64位?

时间:2016-04-26 08:03:54

标签: c++ .net dll

到目前为止,我已经能够使用以下代码加载dll:

Assembly^ assembly = Assembly::LoadFrom(pathDll);

但我不知道如何检测它是32位还是64位。

1 个答案:

答案 0 :(得分:1)

我认为我找到了答案。当然,首先你必须通过以下代码行获得与dll相关的程序集:

Assembly^ assembly = Assembly::LoadFrom(pathDll);

然后,您可以通过以下代码获取有关平台的信息:

ProcessorArchitecture processor_architecture = assembly->GetName()->ProcessorArchitecture;
        if (ProcessorArchitecture::Amd64 == processor_architecture)
        {
            // 64bits
        }
        if (ProcessorArchitecture::X86 == processor_architecture)
        {
            //32 bits
        }