Взаимодействие .NET 9 x86 BadImageFormatException на виртуальной машине Azure, но отлично работает локальноC#

Место общения программистов C#
Anonymous
Взаимодействие .NET 9 x86 BadImageFormatException на виртуальной машине Azure, но отлично работает локально

Сообщение Anonymous »

У меня есть консольное приложение .NET 9, созданное для x86:

Код: Выделить всё

Exe
net9.0
x86

Он вызывает собственную DLL через взаимодействие:

Код: Выделить всё

public static extern int GetTides(
StringBuilder path,
StringBuilder location,
long date,
ref IntPtr tides,
ref IntPtr ephemeride);
Подтверждено, что собственная библиотека DLL (WxTide2.dll) является 32-разрядной (x86).
Поведение
На моем локальном ПК с Windows 11 x64 → работает отлично
На моей виртуальной машине Azure (Windows 11 x64) → программа запускается нормально, но вызов взаимодействия терпит неудачу с:

Код: Выделить всё

Unhandled exception. System.BadImageFormatException:
An attempt was made to load a program with an incorrect format. (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 VM.
Что может вызвать такую разницу между моей локальной машиной и виртуальной машиной?

Подробнее здесь: https://stackoverflow.com/questions/797 ... ne-locally

Вернуться в «C#»