2010-07-27 3 views
0

Я пытаюсь использовать джойстик в своем приложении WPF с C#, используя directX (используя Microsoft.DirectX.DirectInput;), но по какой-то нечетной причине я продолжаю получать ошибку в первой строке где я пытаюсь обнаружить все подключенные устройства. Все, что у меня есть в моей заявке до сих пор, это следующая строка кода в контрукторе:DirectX DirectInput не обнаруживает подключенные устройства

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

Ошибка заключается в следующем:

Тип ошибки: XamlParseException был необработанное.

Сообщение об ошибке: «Вызов конструктора типа« JoystickTest.MainWindow », который соответствует указанным ограничениям привязки, сделал исключение». Номер строки «3» и позиция линии «9».

Я отработкой этот пример я нашел в Интернете: http://www.codeproject.com/KB/directx/joystick.aspx

Моя текущая настройка WPF, C#, .NET 4.0 и Windows 7 64-бит

ответ

0

Поздно партии здесь, но вопрос на самом деле немного глубже, чем то, что он говорит. Он не может инициализировать, потому что вы используете сборку DirectInput (1.x), которая помещает ваше приложение в сборки смешанного режима. Вам нужно добавить это в конец узла конфигурации app.config. Последнее, или это будет продолжаться ошибка из моего опыта.

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

Ключевой компонент useLegacyV2RuntimeActivationPolicy = «истинный» - это позволяет вашему приложению использовать старые сборки требуется.