Domanda

Ho ricevuto questo errore dopo l'aggiornamento a Windows 7 a 64 bit e quindi l'esecuzione di un sito web NET esistente.

  

[InvalidOperationException: Tentativo di caricare librerie client Oracle ha gettato BadImageFormatException. Questo problema si verifica durante l'esecuzione in modalità a 64 bit con i componenti client a 32 bit di Oracle installati.]

ho solo installato installato il client Oracle a 32 bit e capisco che sulla mia macchina di sviluppo a 64-bit l'applicazione è in attesa di librerie a 64 bit se non esplicitamente dichiarato. Questo è dalla ricerca che ho fatto finora.

Ho letto che posso cambiare la piattaforma di soluzioni per x86 che istruire l'applicazione per utilizzare a 32 bit se è questo ciò che trova. Vorrei fare questo, ma non esiste alcuna opzione x86 per il sito web nella soluzione di Visual Studio.

Ho creato l'un'applicazione di test e ho la possibilità, ho creato un sito web di test e non ha fatto. Come posso compilare un sito web per x86 in modo che utilizzerà il client Oracle a 32 bit.

Saluti

È stato utile?

Soluzione

In Gestione IIS, creare un pool di applicazioni e impostare che pool di applicazioni per l'esecuzione in modalità a 32 bit. Quindi assegnare il sito web utilizzando 32 bit Oracle Client per l'esecuzione in quella a 32 bit pool di applicazioni.

Dato che il processo di lavoro che inizia IIS per questo pool di applicazioni è un processo a 32 bit, quando si cerca di caricare il CLR si caricherà il CLR a 32 bit e quindi caricherà la vostra assemblea in modalità a 32 bit. Questo è vero anche se il montaggio è stato compilato per le modalità a 64 bit e 32-bit. La vostra assemblea in esecuzione in modalità a 32 bit può quindi chiamare il client Oracle in esecuzione in modalità a 32 bit.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top