I have a C# program, compiled for platform target x64. It uses C1.C1Zip, a dll file for processing Zip files. Examining C1.C1Zip.dll, it is a 32-bit dll (PE Deconstructor says so - 32-bit words). But my program is definitely 64-bit (Task Manager says so - details tab says Platform 64-bit).
I just successfully ran the code that used the C1.C1Zip dll, and it worked fine. I was given to understand that this is not possible.
How come this is happening?
What extra diagnostics can I run to ensure that my main program really is 64-bit?
Because it is not a native dll to start with. It is MANAGED CODE - bytecode - only. In this case 32 or 64 bit is relevant for the starting exe file (determine whether the process runs 32 or 64 bit) but not the loaded native assemblies later.