2016-03-19 6 views
-2

1年前にmp3プロジェクトでbass.dllを使用していました。当時私はWindows 7、32ビットを使用していました。 もう一つのプロジェクトがあり、bass.dllをもう一度使う必要があります。今回私はWindows 8.1、64bitを使用しています。BadImageFormatException on bass.dll

Bass_Startは()私は私のプロジェクトでにそれらの機能とbass.dllをインポートするDllImportを使用しています

An unhandled exception of type 'System.BadImageFormatException' occurred in EZBlocker.exe 

Additional information: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B). 

私は、この例外を与えるだけでなく、他のすべての機能です。

[DllImport("bass.dll")] 
public static extern bool BASS_Start(); 

try 
      { 
       BASS_Start(); 
      } 
      catch(Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 

これらの64ビットのウィンドウが私に与えているこれらの何千ものバグに加えて、私はここで何が欠けていますか? 64bitで初めてのことですが、実際には後悔しています...

+0

どのようなアプリケーションですか?ビルドをプロジェクト設定でx86に設定してコンパイルすることができます。IIS上でホストされているWebアプリケーションの場合は、IISのサイト設定で「32ビットアプリケーションを有効にする」をtrueに設定できます。ここをクリックhttp://code217.blogspot .com/2013/08/aspnet-systembadimageformatexception.html –

+0

ウェブサイトを見ると、64ビットをサポートしています。しかし、あなたは正しいライブラリを使用していると言います。だから、おそらくあなたのチェックの価値は、最新の.dllを持って、正しい.NETフレームワークで使用することです。 –

答えて

0

あなたのプロジェクトをx86上に構築する場合は、同じバージョンのbass dllを使う必要があります。 いつでもBass.Net dllを使用できます。プロジェクトに含めることができ、そこからbass.dllのすべての関数を呼び出すことができます。

+0

それはとても複雑に見えました... – user2530266

関連する問題