我有一个 C# 程序,针对平台目标 x64 编译。它使用 C1.C1Zip,一个用于处理 Zip 文件的 dll 文件。检查C1.C1Zip.dll,它是一个32位的dll(PE Deconstructor says so - 32-bit words)。但是我的程序肯定是 64 位的(任务管理器是这样说的 - 详细信息选项卡上说是 64 位平台)。
我刚刚成功运行了使用 C1.C1Zip dll 的代码,并且运行良好。我被告知这是不可能的。
怎么会这样?
我可以运行哪些额外的诊断来确保我的主程序确实是 64 位的?
最佳答案
因为它不是一开始的 native dll。它只是托管代码——字节码。在这种情况下,32 位或 64 位与起始 exe 文件相关(确定进程运行的是 32 位还是 64 位),但与稍后加载的 native 程序集无关。
关于c# - 为什么我的 64 位程序可以成功调用 32 位 DLL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61057294/