#1
Liebe Jungs und Mädels, Männer und Frauen,
ich bin etwas verzweifelt. Ich bekomme in unregelmäßigen Abständen die Fehlermeldung:
"es wurde versucht, eine datei mit einem falschen format zu laden. (ausnahme von hresult: 0x8007000b)"
My Story:
Ich habe mir seit einigen Jahren Pause endlich mal wieder einen Desktop PC zusammengestellt, bestellt und aufgebaut. Der PC schnurt wie ein Kätzchen und alles läuft super. Ich habe alles meinen Wünschen entsprechend eingerichtet und einige (viele) Programme sowie Spiele Installiert. Programm läuft nicht unter Win7 64Bit; SQL Compact Fehler? - Sonstige Problemstellungen - VB-Paradise 2.0 – Die große Visual-Basic- und .NET-Community. Alles was ich nutze und auch alle meine Spiele laufen gut und ohne Probleme. Nur leider bekomme ich unregelmäßigen Abständen die oben genannte Fehlermeldung. Aber das auch ganz ohne das ich irgend etwas bewusst starte. Nach einiger Zeit in Google und im Forum habe ich herausgefunden das es hierbei wohl darum geht das ein 32bit/64bit Programm im jeweils falschen Format gestartet wird. Hierbei muss es sich ja um ein Programm handeln das Automatisch im Hintergrund gestartet wird.
- Ausnahme von hresult 0x8007000b youtube
Ausnahme Von Hresult 0X8007000B Youtube
Das heißt, wenn Sie "Any CPU" erstellen, sollte "Target CPU" "Any CPU" sagen. Gehen Sie durch alle Ihre Plattformen, indem Sie sie aktivieren und überprüfen Sie diese Einstellung. Ich konnte dieses Problem beheben, indem ich meine Build-Version mit der auf dem Server übereinstimmte. Ich habe doppelt auf die geklickt, nur um zu sehen, was passieren würde und es sagte mir, 4. 5 zu installieren.... Also habe ich auf 4. 0 heruntergestuft und es hat funktioniert! Ausnahme von hresult 0x8007000b d. Stellen Sie also sicher, dass Ihre Versionen übereinstimmen. Es lief auf meiner Dev Box gut, aber Server hatte ältere Version. In meinem Fall habe ich Tests über MSTest ausgeführt und festgestellt, dass ich sowohl eine 32-Bit- als auch eine 64-Bit-DLL im Testverzeichnis bereitgestellt habe. Das Programm favorisierte die 64-Bit-DLL und verursachte einen Fehler. TL; DR Stellen Sie sicher, dass Sie nur 32-Bit-DLLs für Tests bereitstellen. In meinem Fall verwende ich eine kleine, die die referenzierten DLLs über Reflection neu lädt. Also mache ich einfach diese Schritte, die meinen Tag retten: Aus den Projekteigenschaften im Solution Explorer auf der Registerkarte "Build" wähle ich die Zielplattform x86
In meinem Fall verwendete ich eine native DLL in C #.
Diese DLL hing von einigen anderen DLLs ab, die fehlten. Sobald diese anderen DLLs hinzugefügt wurden, funktionierte alles. In meinem Fall war es ein falscher Inhalt der Datei. Ausnahme von hresult 0x8007000b youtube. DLL wurde aus dem Internet heruntergeladen, aber der Inhalt der DLL war HTML-Seite: D Versuchen Sie zu überprüfen, ob es sich um eine Binärdatei handelt, wenn es wie eine richtige DLL aussieht:)
Irgendwie wurde das Kontrollkästchen Erstellen im Konfigurationsmanager für meine ausführbare Datei deaktiviert, sodass es immer noch mit dem alten Any CPU-Build ausgeführt wurde. Nachdem ich das behoben hatte, beschwerte sich Visual Studio, dass es die Assembly nicht debuggen konnte, aber das wurde mit einem Neustart behoben. Klicken Sie in Visual Studio mit der rechten Maustaste auf Ihr Projekt -> Klicken Sie im linken Bereich auf die Registerkarte Erstellen. Wählen Sie unter Platform Target x86 (oder allgemeiner die Architektur, die mit der Bibliothek übereinstimmt, mit der Sie verlinken). Ich hoffe, das hilft jemandem!