Estoy desarrollando una aplicación WPF donde la parte 3D es manejada por DirectX 9 (una gran cantidad de 3D que no se ejecutó lo suficientemente rápido usando WPF).Aplicación de DirectX en ventanas de 64 bits
El problema es que la aplicación se lanza con "Cualquier CPU" como configuración y cuando un usuario la ejecuta en una ventana de 64 bits, la parte direcX falla (System.BadImageFormatException). Aparentemente los dlls incluidos para la parte de directX no se pueden usar en una ventana de 64 bits.
Esto ha sucedido con algunas otras 3 partes dlls que utilizamos en nuestra aplicación, pero esto lo hemos solucionado cambiando los dlls en tiempo de ejecución a los creados para x64 si el usuario está ejecutando en una máquina Windows de 64 bits. ¿Alguno de ustedes sabe dónde puedo encontrar DirectX 9 dlls para x64? Si existen en absoluto.
Los que yo necesito son:
- Microsoft.DirectX.Direct3D
- Microsoft.DirectX.Direct3DX
- Microsoft.DirectX
Si no existen, el problema puede ser resuelto de alguna otra manera? No puedo cambiar la configuración a 86 porque la aplicación se libera a través de ClickOnce y un cambio de configuración hacen ClickOnce deje de funcionar (la configuración está incluido en la clave de ClickOnce)
quiero añadir que la estoy usando un Winforms parte alojada por la aplicación WPF y que la parte de winforms está utilizando los dlls de DirectX sobre los que estoy preguntando. Esta era una manera mucho mejor y más rápida de presentar muchas mallas 3D en WPF que utilizar WPF: s 3D. Lamentablemente, este problema ocurrió en su lugar.
Como acotación al margen: XNA/Windows mismo obliga a utilizar el modo de 32 bits, incluso en x64 - por lo que se preguntan si simplemente no es posible ... No se sabe muy bien, sin embargo. –
Solo un FYI, WPF en 3D es un envoltorio para X directo. Son prácticamente uno en lo mismo. Dar o tomar algunas cosas. – Tony