0

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 ビットです。

4

1 に答える 1

0

ここでのパーティーには遅れましたが、問題は実際にはそれが言うよりも少し深いです. アプリケーションを混合モード アセンブリに配置する DirectInput アセンブリ (1.x) を使用しているため、初期化できません。これを app.config の Configuration ノードの一番下に追加する必要があります。最後に、または私の経験からエラーが続くでしょう。

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

重要なコンポーネントはuseLegacyV2RuntimeActivationPolicy="true"です。これにより、アプリは必要な古いアセンブリを使用できます。

于 2011-05-31T13:37:57.667 に答える