Question

Celui-ci est une longue histoire: j'ai récemment construit une application win32 dans Visual Studio qui utilise DirectX et je l'ai envoyé à quelques amis pour vérifier qu'il fonctionne sur d'autres machines. Ils avaient tous .NET installé, mais l'application n'a pas travaillé pour tous mes amis.

Dans deux cas, nous sommes des erreurs « ne pouvait pas charger le fichier ou l'assemblage Microsoft.DirectX.DirectInput la version 1.0.29 ... » quand ils ont essayé d'exécuter le programme.

je me suis dit qu'ils doivent avoir d'autres versions du .dll et, après quelques vérifications, j'ai découvert que mes références que nous sommes aux versions fixes. J'ai changé la propriété « version corrigée » false à tous les dll directX, mais ils erreurs quand même eu quand ils ont essayé d'exécuter l'application.

Enfin j'ai essayé de copier tous les fichiers DLL dans le même dossier avec l'application et les erreurs directx étaient partis, mais ils plutôt eu un « System.IO.FileNotFoundException le module spécifié est introuvable » erreur sur la ligne où la programme a essayé de faire une Direct3D.Texture d'une image (le lien vers l'image était correcte).

Si vous pouvez me aider avec des conseils pour fixer l'un des problèmes ci-dessus, je serais très heureux!

Était-ce utile?

La solution

On dirait que vous utilisez Managed DirectX, et certains de vos amis sans doute ne l'ont pas installé. Pour autant que je peux dire, le package redistribuable pour MDX est plus disponible. (Pas de Microsoft de toute façon, vous pourriez être en mesure de le trouver quelque part)

Notez que DirectX Managed est fondamentalement obsolète et dans de nombreux cas XNA est un meilleur choix .

Autres conseils

Si vous utilisez ManagedDirectX que il y a la façon rapide et sale de régler ce problème. et c'est la copie juste la dll ManagedDirectX est dans le même répertoire. MS dit qu'il ne fonctionnera pas et il est certainement pas très approprié pour envs de production. Mais ça va marcher dans la plupart des cas.

DLL sont au moins:

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

Votre question pourrait être résolue maintenant.

Moi aussi je ressentais la même question pendant 2 jours maintenant et je suis finalement résolu il. J'ai essayé tant de solutions qui ont été proposées sur le web, mais rien n'a fonctionné pour moi. Mon projet fait référence à un autre projet qui, à son tour faisait référence Microsoft.DirectX.Direct3DX.dll. Quand je courais le projet, je suis arrivé à l'exception: System.IO.FileNotFoundException: Impossible de charger le fichier ou l'assembly « Microsoft.DirectX.Direct3DX.DLL » ou une de ses dépendances. Impossible de trouver le module spécifié.

Il se trouve que cette dll cherchait « une de ses dépendances » et ne pouvait pas les trouver, car je n'ai pas DirectX installé sur ma machine. Donc, la solution pour moi était d'installer DirectX.

Reportez-vous le lien suivant pour installer Web DirectX: http://www.microsoft.com/en-in/download /details.aspx?id=35

J'espère que cela aide les autres qui font face au même problème! :)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top