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

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

Сообщение Anonymous »

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

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

Exe
net9.0
x86

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

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

[DllImport("WxTide2.dll", CallingConvention = CallingConvention.Cdecl)]
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) программа запускается нормально, но вызов взаимодействия завершается с ошибкой:

Необработанное исключение. 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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