Issue:

I use your SDK from .NET application and I get System.BadImageFormatException when I run the built application.


Cause and solution:

System.BadImageFormatException can be thrown in following cases:

  • SDK native shared library file is corrupted. Native DLL library is a library which is wrapped by .NET library. Our SDKs native libraries are these: IDKit.dll, IDKit64.dll, iengine_ansi_iso.dll, iseglib.dll. Example: native IDKit.dll library file is wrapped as Innovatrics.IEngine.dll (.NET library). Please download the library from our CRM again or submit a support request with attached library file and all details to our support team.
  • x86/x64 platform mismatch. Native DLL library is for x86/x64 bit platform and your .NET project is being built for x64/x86 bit platform (vice versa) or it's built for "Any CPU", but being run on x64 platform but with x86 native DLL library only - for example. Please set correct "platform target" in your .NET Project (Project->Properties->Build->Platform target) - based on the native DLL library which you want to be used. In case you are using a native library, you should change "Any CPU" to the platform you are going to support.
  • mixing x86 and x64 libraries in the project. The application cannot run in 64 and 32bit mode simultaneously. Make sure all of your dependencies are of the same architecture.