我正在尝试使用directX(使用Microsoft.DirectX.DirectInput;)在我的C#WPF应用程序中使用操纵杆,但由于某些奇怪的原因,我在第一行中遇到错误,我尝试检测所有连接设备。到目前为止,我在我的应用程序中的所有内容都是构造函数中的以下代码行:
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 :(得分:0)
这里的派对很晚,但问题实际上比它说的要深一些。它无法初始化,因为您正在使用DirectInput程序集(1.x),它将您的应用程序置于混合模式程序集中。您需要将其添加到app.config的Configuration节点的底部。最后,或者从我的经历中继续出错。
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
关键组件 useLegacyV2RuntimeActivationPolicy =“true” - 这样您的应用就可以使用所需的旧程序集。