title: "An attempt was made to load a program with an incorrect format" even when the platforms are the same
body: <p>I'm calling functions from a 32-bit unmanaged DLL on a 64-bit system. What I get is:</p>
  
  <blockquote>
    <p>BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)</p>
  </blockquote>
  
  <p>At first, I had my projects set to the Any CPU platform, so I changed them both to x86, but this error is still occurring. That's really the only fix I know for this.</p>
  
  <p>The DLLs aren't corrupt or anything, because I can use them with other programs (that I don't have the source to). I thought that perhaps it wasn't finding a dependency, but I checked and they're all there. Plus, wouldn't it throw a <code>DllNotFoundException</code> in that case?</p>
  
  <p>What else can I do? And before you say "Use a 64-bit unmanaged DLL instead," let me point out that there isn't one. ;)</p>