31

Ho un progetto asp.net mvc (EF), Ho scaricato il provider di dati oracle con la versione 4.112.2.50 -32bit sul mio pc quando si sposta il progetto su Windows Server 2008 (I hanno la stessa versione di odp-64bit) ho il problema di seguito:Impossibile caricare il file o l'assembly Oracle.DataAccess

Impossibile caricare il file o l'assembly 'Oracle.DataAccess' o una delle sue dipendenze . È stato effettuato un tentativo di caricare un programma con un formato errato.

quando ho toke Oracle il "Oracle.DataAccess.dll" dal server e renderlo con il mio progetto di riferimento Ho un altro messaggio di errore come sopra con un file "Oracle.Web"

Impossibile caricare il file o l'assembly 'Oracle.Web' o una delle sue dipendenze . È stato effettuato un tentativo di caricare un programma con un formato errato.

anche se ho il file "Oracle.Web.dll" per il mio riferimento del progetto dal server che hanno lo stesso errore con "Oracle.Web"

+1

Controllare i punti indicati in http://stackoverflow.com/questions/8531475/oracle-dataaccess-dll-can-not-be-located-though-it-exists/8531874#8531874. Molto probabilmente si tratta di un problema a 32/64 bit. – Codo

risposta

59

In Gestione IIS selezionare il server e selezionare "Pool di applicazioni". Selezionare il pool di applicazioni utilizzato dall'app Web e fare clic su "Impostazioni avanzate" dal menu a destra.

nella sezione "generale" delle impostazioni avanzate cliccare sul pulsante "abilitare le applicazioni a 32 bit" e impostarlo a Vero.

Questa correzione si applica solo ai server a 64 bit che tentano di eseguire la versione a 32 bit delle Oracle Dll.

saluti George

+2

Funziona, ma è il metodo giusto? –

3
  1. Oracle.DataAccess.dll deve essere installato non solo di riferimento.
  2. Modificare la proprietà locale della copia del riferimento su true.
+0

Oracle.DataAccess.dll è installato anche Ho cambiato copia locale per tutti i riferimenti – user975260

1

Il formato errato indica un problema di controllo. Per far funzionare il server, modificare il pool di applicazioni in cui è in esecuzione il programma per abilitare il supporto a 32 bit o installare un client Oracle a 64 bit.

0

Modifica pool di app da 64-bit a 32-bit è una soluzione.

6

George ha scritto:

In Gestione IIS selezionare il server e selezionare "Pool di applicazioni". Seleziona il pool di applicazioni utilizzato dall'app Web e fai clic su "Impostazioni avanzate" nel menu a destra.

Nella "Sezione Generale" delle Impostazioni avanzate fare clic su "Abilita applicazioni a 32 bit" e impostarlo su Vero.

Questa correzione si applica solo ai server a 64 bit che tentano di eseguire la versione a 32 bit delle Oracle Dll.

È vero anche il contrario. Se si utilizza utilizzando la versione a 64 bit delle Oracle Dll, è necessario impostare "Abilita applicazioni a 32 bit" su false.

--Jacob

+0

Tu sei il mio internet <3 – masterwok

0

Eliminazione bin e obj cartelle risolto il mio problema.