2011-07-06 19 views
1

だから私は、わずか数行の簡単なアプリケーションを持っている:C#のDirectX入力問題

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using Microsoft.DirectX.DirectInput; 

namespace asdasd 
{ 
    public partial class Form1 : Form 
    { 
     public Device joystick; 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      foreach (
       DeviceInstance di in 
       Manager.GetDevices(
        DeviceClass.GameControl, 
        EnumDevicesFlags.AttachedOnly)) 
      { 
       joystick = new Device(di.InstanceGuid); 
       break; 
      } 

      if (joystick == null) 
      { 
       throw new Exception("No joystick found."); 
      } 
     } 
    } 
} 

をし、私は自分のコンピュータ上のアクティブなジョイスティックを取得しようと、私はエラーを取得:

The error

私はMicrosoft.DirectX.DirectInputアセンブリを持っており、私はdirectX SDK 2010をインストールしています。

誰かが問題がどこにあるか教えていただけますか?

答えて

1

設定ファイルにこれを追加してみてください:

http://devonenote.com/2010/08/mixed-mode-assembly-error-after-upgrading-to-dotnet-4-0/

(設定がすでに存在する場合は、単にこれらの中にマージ) そして、多分それは正しい場所ではないのですが、ちょうどXNAを見てみましょう。 ..物事は通常それではるかに簡単です。

ここに直接XMLを貼り付けることができませんでしたが、表示されません。

+0

ありがとうございます! :) – TreantBG

+0

あなたは大歓迎です:) –

0

DirectXアセンブリは.NET v1.1に対してビルドされています。Microsoftは、.NET v2.0がリリースされる前に、これらの開発を積極的に停止しました。

.NET v1.1以外をターゲットとするプロジェクトでは使用できません。 XNAはDirect Xの機能への管理されたアクセスのための「祝福された」経路です。もしそれが機能だと私はすべて分かりませんが、SlimDXはXNAよりもC#用のDirect X feel APIを提供しているようですが、私はそれを使っていませんでした。

gamedev.stackexchange.comでアップグレードパスを選択した方がよいでしょう。

関連する問題