Я пытаюсь создать интероперабельную dll, написанную на C #, для использования в Microsoft NAV 2016, для разработки драйвера фискального принтера. В моем проекте на C# я вызывал другие функции dll (поставляемые компанией Bematech, в 32-разрядной и неуправляемой версии).
Вызовы функций неуправляемой dll (и проверенной из .EXE) я делаю следующим образом:
[DllImport ( "BemaFi32.dll")]
public static extern int Bematech_FI_ProgramaAlicuota (Aliquot string, int ICMS_ISS);
Когда я пытаюсь запустить его из NAV2016, я получаю следующую ошибку: .Вызов "MyAssembly" не удался с этим сообщением: Вы пытаетесь загрузить программу с неправильным форматом. Ожидание от HRESULT: 0x8007000B
Я предполагаю, что ошибка, потому что dll не управляется или 32-битная версия (если это проблема становится более сложной, потому что, видимо, нет 64-битной версии). Не как решить проблему.