Die Geschichte: Meine Website läuft in System.Data.OraceClient (ich kann die DLL aus verschiedenen technischen Gründen nicht ändern). Jetzt habe ich eine Drittanbieter-DLL in meine Website integriert, die 32 Bit ist. Wenn ich von Visual Studio aus laufe, läuft alles einwandfrei, aber wenn ich es in IIS veröffentlich, wird der obige Fehler ausgegeben.Versuch, Oracle-Client-Bibliotheken zu laden, warf BadImageFormatException IIS System.Data.OracleClient
Jetzt Lösungen sind: Aktivieren 32 Bit in IIS-Anwendungspool
Wenn 32bit den Dritten DLL zu arbeiten beginnt, aktiviert und System.Data.Oracle client fails with BadImageFormat exception
Disable 32-Bit in IIS-Applikationspool.
Wenn 32 Bit deaktiviert ist System.Data.OracleClient
beginnt zu arbeiten und die Drittanbieter-DLL wird mit dem folgenden Fehler fehlschlagen.
Jetzt bin ich in einer Situation nur eine DLL wird zu einer Zeit arbeiten. Gibt es eine Problemumgehung, um mein System.Data.OracleClient auszuführen, wenn 32Bit in Anwendungspool aktiviert ist, ohne zu versuchen, meine gesamte Anwendung zu Oracle Data Access zu migrieren?
Ich bin nur einen Stich an mich hier machen, aber ... Welche Version des Oracle-Client wird auf dem Web-Server installiert ist (es ist die vollständige Client oder Instant Client)? Und ist es 32 Bit oder 64 Bit? –
Es stammt von .Net Assemblies für 4.5.1. Die Version der DLL ist 4.0 und es ist 64 Bit glaube ich. – smilu