2010-07-27 4 views
0

J'essaie d'utiliser un joystick dans mon application C# WPF en utilisant directX (en utilisant Microsoft.DirectX.DirectInput;), mais pour une raison étrange, je reçois toujours une erreur dans la première ligne où j'essaie de détecter tous les appareils connectés. Tout ce que j'ai dans mon application jusqu'à maintenant est la ligne de code suivante dans le constructeur:DirectX DirectInput ne détecte pas les périphériques connectés

DeviceList gameControllerList = Manager.GetDevices (DeviceClass.GameControl, EnumDevicesFlags.AttachedOnly);

L'erreur est la suivante:

Type d'erreur: XamlParseException était non prise en charge.

Message d'erreur: "L'appel du constructeur sur le type 'JoystickTest.MainWindow' qui correspond aux contraintes de liaison spécifiées a généré une exception. ' Numéro de ligne '3' et position de ligne '9'. "

Je travaille de cet exemple, je trouve en ligne: http://www.codeproject.com/KB/directx/joystick.aspx

Ma configuration actuelle est WPF, C#, .NET 4.0 et Windows 7 64 bits

Répondre

0

fin à la partie ici, mais la question est en fait un peu plus profond que ce qu'il dit. Il ne peut pas être initialisé parce que vous utilisez l'assembly DirectInput (1.x) qui place votre application dans des assemblages en mode mixte. Vous devez l'ajouter au bas du noeud Configuration de votre application.config. Dernier, ou il continuera à l'erreur de mes expériences.

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0"/> 
</startup> 

composante clé est useLegacyV2RuntimeActivationPolicy = "true" - cela permet à votre application d'utiliser les ensembles anciens requis.

Questions connexes