我有一个针对x64平台目标编译的C#程序。它使用C1.C1Zip,这是一个处理Zip文件的dll文件。检查C1.C1Zip.dll,它是一个32位的dll文件(PE Deconstructor说是32位字)。但我的程序肯定是64位的(任务管理器说是64位 - 详细信息选项卡上显示平台为64位)。
我刚刚成功运行了使用C1.C1Zip dll的代码,并且它能正常工作。据我所知,这是不可能的。
这是怎么回事?
我可以运行哪些额外诊断以确保我的主程序确实是64位的?
我有一个针对x64平台目标编译的C#程序。它使用C1.C1Zip,这是一个处理Zip文件的dll文件。检查C1.C1Zip.dll,它是一个32位的dll文件(PE Deconstructor说是32位字)。但我的程序肯定是64位的(任务管理器说是64位 - 详细信息选项卡上显示平台为64位)。
我刚刚成功运行了使用C1.C1Zip dll的代码,并且它能正常工作。据我所知,这是不可能的。
这是怎么回事?
我可以运行哪些额外诊断以确保我的主程序确实是64位的?
因为它一开始就不是本地dll。它是托管代码 - 字节码 - 必须是这样的。在这种情况下,32位或64位与启动exe文件有关(确定进程以32位或64位运行),但后面加载的本地程序集则不相关。