Pregunta

Esta es una historia muy larga: Recientemente he construido una aplicación Win32 en Visual Studio que utiliza DirectX y lo envié a algunos amigos para comprobar que funciona en otras máquinas. Todos ellos tenían instalado .NET, pero la aplicación no trabajaron para todos mis amigos.

En dos casos hay algunos que estamos "No se pudo cargar el archivo o ensamblado Microsoft.DirectX.DirectInput versión 1.0.29 ..." errores cuando trataron de ejecutar el programa.

Me imaginé que deben tener otras versiones de los archivos .dll y, después de algunas comprobaciones, descubrí que mis referencias estamos a versiones fijas. He cambiado la propiedad "versión fija" false para todos los archivos DLL DirectX, pero todavía tengo errores al tratar de ejecutar la aplicación.

Finalmente he intentado copiar todos los archivos DLL en la misma carpeta con la aplicación y los errores de DirectX se habían ido, pero en cambio tengo un "System.IO.FileNotFoundException el módulo especificado no se pudo encontrar" error en la línea donde el programa trató de hacer un Direct3D.Texture de una imagen (el enlace a la imagen era correcta).

Si usted me puede ayudar con consejos para la fijación de cualquiera de los problemas anteriores, i agradecería mucho!

¿Fue útil?

Solución

Parece que estás utilizando Managed DirectX y algunos de sus amigos probablemente no lo tiene instalado. Por lo que yo puedo decir, el paquete redistribuible para MDX ya no está disponible. (No de Microsoft de todos modos, es posible que pueda encontrar en alguna parte)

Tenga en cuenta que Managed DirectX es básicamente obsoleta y en muchos casos XNA es una mejor opción .

Otros consejos

Si está utilizando ManagedDirectX que no es la manera rápida y sucia de solucionar este problema. y eso es sólo copiar el archivo DLL ManagedDirectX está en el mismo directorio. MS dice que no va a funcionar y definitivamente no es muy adecuado para envs de producción. Pero que va a trabajar en la mayoría de los casos.

de DLL son al menos:

Microsoft.DirectX.Direct3D.dll
Microsoft.DirectX.Direct3DX.dll
Microsoft.DirectX.dll

Su problema podría ser resuelto por ahora.

Yo también estaba experimentando el mismo problema durante 2 días y finalmente lo resolví. Probé tantas soluciones que se sugirieron en la web pero nada funcionó para mí. Mi proyecto hace referencia a otro proyecto que a su vez se refería a Microsoft.DirectX.Direct3DX.dll. Cuando me encontré con el proyecto me dio la excepción: System.IO.FileNotFoundException: No se pudo cargar el archivo o ensamblado 'Microsoft.DirectX.Direct3DX.DLL' o uno de sus dependencias. El módulo especificado no se pudo encontrar.

Resulta que esta DLL estaba buscando 'una de sus dependencias' y no podía encontrarlos ya que no tengo DirectX instalado en mi máquina. Así que la solución para mí fue la instalación de DirectX.

Consulte el siguiente enlace para DirectX instalador web: http://www.microsoft.com/en-in/download /details.aspx?id=35

Espero que esto ayude a otras personas que se enfrentan al mismo problema! :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top