Soluzione semplice:è necessario installare il client Oracle in base alla piattaforma (x64 su una macchina x64). Il motivo è che è molto probabile che la tua applicazione .NET venga compilata nella configurazione AnyCPU, il che significa che verrà eseguita come un'applicazione x64 su una piattaforma x64. Quindi può caricare solo librerie native x64...
Tieni presente che quando si tratta di Oracle, mi piace usare Oracle Instant Client :
- Non devi installare nulla sulle macchine target (incluse le dev box!).
- Puoi assicurarti che la tua applicazione venga eseguita con il client specifico che hai scelto (versione, x86/x64).
- Potresti anche far funzionare facilmente più applicazioni con versioni client diverse sullo stesso computer.
- Come svantaggio, aggiunge un peso significativo alla tua applicazione (~19 Mb minimo).
Controlla Qual è il footprint minimo del client richiesto per connettere C# a un database Oracle? per ulteriori informazioni.
Nel tuo caso particolare, ti consiglio di impostare un progetto di Visual Studio che funzioni su macchine x86 e x64:controlla il mio post sul blog Oracle Instant Client in Visual Studio . Quindi ecco una guida su come configurare un WiX pacchetto per Oracle Instant Client destinati a macchine x86 o x64. Se utilizzi un'altra strategia di distribuzione, assicurati di spedire il client corretto in base alla piattaforma di destinazione.