Код: Выделить всё
Exe
net9.0
x86
Код: Выделить всё
[DllImport("WxTide2.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int GetTides(
StringBuilder path,
StringBuilder location,
long date,
ref IntPtr tides,
ref IntPtr ephemeride);
Код: Выделить всё
WxTide2.dllПоведение
На моем локальном компьютере с Windows 11 x64 оно работает отлично.
На моей виртуальной машине Azure (Windows 11 x64) программа запускается нормально, но вызов взаимодействия завершается с ошибкой:
Необработанное исключение. System.BadImageFormatException:
Предпринята попытка загрузить программу в неправильном формате. (0x8007000B)
Что я уже проверил
- Установил среду выполнения .NET 9 x86, подтверждено через:
Код: Выделить всё
Microsoft.NETCore.App 9.0.10 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App] - Попробовал запустить через C:\Windows\SysWOW64\cmd.exe
- Проверил, что DLL находится в той же папке, что и EXE
- Проверено с помощью dumpbin → DLL действительно есть x86
Даже несмотря на все это, вызов взаимодействия по-прежнему завершается сбоем только на виртуальной машине Azure.
Что может вызвать такую разницу между моей локальной машиной и виртуальной машиной?
Подробнее здесь: https://stackoverflow.com/questions/797 ... ne-locally
Мобильная версия