wake-up-neo.com

Datei oder Assembly Oracle.DataAccess konnte nicht geladen werden

Ich habe ein asp.net mvc (EF) -Projekt, Ich hatte Oracle-Datenprovider mit der Version 4.112.2.50 -32bit auf meinem PC heruntergeladen, als ich das Projekt auf den Windows-Server 2008 verschoben habe (ich habe die gleiche Version von odp-64bit) habe das untenstehende Problem:

Datei oder Assembly 'Oracle.DataAccess' oder einer ihrer .__-Dateien konnte nicht geladen werden. Abhängigkeiten. Es wurde versucht, ein Programm mit einem falschen .__ zu laden. Format.

wenn ich Oracle die "Oracle.DataAccess.dll" vom Server ziehe und es mit meiner Projektreferenz .__ mache. Ich habe eine weitere Fehlermeldung wie die obige mit einer Datei "Oracle.Web"

Datei oder Assembly 'Oracle.Web' oder einer ihrer .__-Dateien konnte nicht geladen werden. Abhängigkeiten. Es wurde versucht, ein Programm mit einem falschen .__ zu laden. Format.

auch wenn ich die Datei "Oracle.Web.dll" zu meinem Projektverweis vom Server bekomme, habe ich den gleichen Fehler mit "Oracle.Web" 

31
user975260

Wählen Sie im IIS - Manager Ihren Server aus und wählen Sie "Application Pools" aus. Wählen Sie den Anwendungspool aus, den Ihre Web App verwendet, und klicken Sie im rechten Menü auf "Erweiterte Einstellungen".

Klicken Sie im Bereich "General""der erweiterten Einstellungen auf"32-Bit-Anwendungen aktivieren"und setzen Sie ihn aufTrue.

Dieses Update gilt nur für 64-Bit-Server, die versuchen, die 32-Bit-Version der Oracle-DLLs auszuführen.

GrüßeGeorge

59
McHaroni

George Wrote:

Wählen Sie im IIS - Manager Ihren Server aus und wählen Sie "Anwendungspools" aus. Wählen Sie den Anwendungspool aus, den Ihre Web App verwendet, und klicken Sie im rechten Menü auf "Erweiterte Einstellungen".

Klicken Sie im Bereich "Allgemein" der erweiterten Einstellungen auf "32-Bit-Anwendungen aktivieren" und setzen Sie ihn auf "True".

Dieses Update gilt nur für 64-Bit-Server, die versuchen, die 32-Bit-Version der Oracle-DLLs auszuführen.

Das Gegenteil trifft auch zu. Wenn Sie die 64-Bit-Version der Oracle-DLLs verwenden, müssen Sie " Enable 32-Bit Applications " auf false setzen.

--Jacob

6
Jacob
  1. Oracle.DataAccess.dll muss installiert und nicht nur referenziert werden.
  2. Ändern Sie die lokale Kopiereigenschaft des Verweises in true.
3
gdoron

Falsches Format weist auf ein Bit-Problem hin. Um den Server auszuführen, ändern Sie den Anwendungspool, in dem Ihr Programm ausgeführt wird, um die 32-Bit-Unterstützung zu aktivieren oder einen 64-Bit-Oracle-Client zu installieren.

1
tsells

Durch das Löschen von bin und obj ordnern wurde mein Problem gelöst.

0
Elvin Mammadov

Das Ändern des App-Pools von 64-Bit in 32-Bit ist eine Lösung.

0
ward coysman