2016-03-19 5 views
-2

Vor einem Jahr benutzte ich Bass.dll auf einem MP3-Projekt. Damals benutzte ich Windows 7, 32bit. Jetzt bin ich auf einem anderen Projekt und ich muss die bass.dll wieder verwenden. Diesmal bin ich auf Windows 8.1, 64bit.BadImageFormatException on bass.dll

Bass_Start() gibt mir diese Ausnahme sowie alle anderen Funktionen

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). 

ich DllImport verwende die Funktionen und die bass.dll in in meinem Projekt zu importieren.

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

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

Was vermisse ich hier neben diesen Tausenden von Fehlern, die diese 64Bits Windows mir geben? Es ist mein erstes Mal auf 64bit und ich bedauere es wirklich ...

+0

Welche Art von Anwendung ist das? Sie können den Build auf x86 in den Projekteinstellungen festlegen und kompilieren. Wenn es sich um eine Webanwendung handelt, die auf IIS gehostet wird, können Sie "Enable 32 Bit applications" in den Websiteeinstellungen in IIS auf true setzen. Sehen Sie hier http: //code217.blogspot .com/2013/08/aspnet-systembadimageformatexception.html –

+0

Mit Blick auf ihre Website unterstützen sie 64bit. Aber sie sagen, um sicherzustellen, dass Sie die richtige Bibliothek verwenden. Vielleicht lohnt es sich zu überprüfen, ob Sie die neueste DLL-Datei verwenden, um das richtige .NET-Framework zu verwenden. –

Antwort

0

Wenn Sie Ihr Projekt nur auf x86 bauen, dann müssen Sie die gleiche Version von Bass dll verwenden. Sie könnten immer die Bass.Net dll verwenden. Sie können es in Ihr Projekt aufnehmen und von dort aus alle Funktionen der bass.dll aufrufen.

+0

Es sah so kompliziert aus ... – user2530266