Я занимаюсь разработкой приложения WPF, в котором 3D-часть обрабатывается DirectX 9 (много 3D, которые не работали достаточно быстро с использованием WPF).
Проблема в том, что приложение выпускается с «Любым ЦП» в качестве конфигурации, и когда пользователь запускает его в 64-битных окнах, происходит сбой части direcX (System.BadImageFormatException). По-видимому, библиотеки DLL, включенные для части DirectX, не могут использоваться в 64-битных окнах.
Это произошло с некоторыми другими библиотеками 3-й части, которые мы используем в нашем приложении, но мы решили эту проблему, изменив библиотеки во время выполнения на библиотеки, созданные для x64, если пользователь работает на 64-битной машине Windows. Кто-нибудь из вас знает, где я могу найти DirectX 9 dll для x64? Если они вообще существуют.
Мне нужно:
- Microsoft.DirectX.Direct3D
- Microsoft.DirectX.Direct3DX
- Microsoft.DirectX
Если их не существует, можно ли решить проблему каким-либо другим способом? Я не могу изменить конфигурацию на x86, потому что приложение выпущено через ClickOnce, а изменение конфигурации приводит к тому, что ClickOnce перестает работать (конфигурация включена в ключ ClickOnce)
Позвольте мне добавить, что я использую часть Winforms, размещенную в приложении WPF, и что часть winforms использует библиотеки DirectX, о которых я спрашиваю. Это был намного лучший и быстрый способ представления большого количества 3D-мешей в WPF, чем использование WPF: 3D. К сожалению, эта проблема возникла вместо.