2012-02-18 2 views
0

Je voudrais l'utilisation DirectInput dans mon jeu XNA mais j'ai un problème quand il s'agit de faire référence au fichier .dll. J'utilise Microsoft Visual Studio C# Express Edition. C'est exactement ce que je fais:Message d'erreur lors de la référence des fichiers .dll

  • faites un clic droit « Références »
  • a choisi « ajouter une référence »
  • accédez au fichier .dll et cliquez sur OK

Je reçois l'erreur suivante : enter image description here

Comme indiqué plus haut, je voudrais faire référence à l'espace de noms Microsoft.DirectX.DirectInput mais je ne sais pas qui .dll que ce soit dans donc je viens a choisi le "d3dref9.dll". Chaque fichier .dll sous ce répertoire ne fonctionne pas si quelqu'un que je choisis me donne la même erreur. Maintenant, j'ai été en mesure d'accomplir cela avec d'autres fichiers .dll, mais pour une raison quelconque, ceux de DirectX ne fonctionnera pas. Je sais que c'est possible car this gars l'a fait juste regarder la deuxième ligne de son code.

J'ai le SDK DirectX installé pourquoi ne puis-je pas référencer l'un des fichiers .dll et comment puis-je faire en sorte que je le puisse?

Merci!

+0

Ce sont des DLL natives. Vous devez trouver ceux qui sont gérés. Il devrait s'appeler quelque chose comme "Microsoft.DirectX.DirectInput.dll" – Cameron

Répondre

0

Je pense que vous essayez de référencer des DLL qui ne sont pas des assemblys .NET et/ou des bibliothèques COM.

This link pourrait aider à localiser les propper .DLLs:

(copier/coller de post lié :)

What you need to do is add the correct DLLs as references to your project. Since they are not in the list, you'll have to add them manually. I am assuming you are using the October SDK?

What you'll need to do is:

  1. Right-click on References folder, and select "Add Reference..."
  2. On the .NET tab, select the "Browse" button.
  3. Navigate to where you installed the SDK. (On my machine it is C:\Program Files\Microsoft DirectX 9.0 SDK)
  4. The files you are looking for should be in ".\Developer Runtime\x86\DirectX for Managed Code"
  5. Select the DLLs that you want (in this case Microsoft.DirectX.dll, Microsoft.DirectX.DirectInput.dll)
+0

J'ai la version de juin 2010 d'ici: http://www.microsoft.com/download/fr/details.aspx?id=6812 Je pense que c'est le plus à jour. La seule version d'octobre que j'ai trouvée date de 2008. Pourquoi est-ce que je l'installerais quand juin 2010 serait le plus à jour? Je demande parce qu'en utilisant ma version le répertoire "DirectX for Managed Code" n'est pas là et je ne peux pas le trouver. – MrSplosion

+0

Peut-être qu'ils ont changé la disposition du répertoire depuis lors. Avez-vous essayé de rechercher votre lecteur pour "Microsoft.DirectX.DirectInput.dll"? – CodingWithSpike

1

Le problème ici est que vous ajoutez une référence à une DLL native tandis que les projets gérés ne prennent en charge que les DLL gérés. Je crois que la DLL que vous cherchez est Microsoft.DirectX.dll. Cela a les wrappers gérés pour DirectX

+0

Où serait l'emplacement de "Microsoft.DirectX.dll"? J'ai la dernière version de DirectX SDK pour Juin 2010 http://www.microsoft.com/download/en/details.aspx?id=6812 – MrSplosion

+0

@MrSplosion Je ne suis pas exactement sûr. Le moyen le plus rapide de le trouver serait cependant de rechercher 'Microsoft.DirectX.dll' dans le répertoire racine du SDK. Si ce n'est pas là, je voudrais essayer le dossier SDK .Net car il peut installer la DLL là – JaredPar

+0

@MrSplosion ressemble à partir de ce fil http://social.msdn.microsoft.com/Forums/eu/vssetup/thread/563fcf70- ba0d-4a84-9ebb-10801075a06d ils seront dans le dossier ". \ Developer Runtime \ x86 \ DirectX pour Managed Code" sous le dossier racine du SDK. –

Questions connexes