Ligetil løsning:du skal installere Oracle-klienten i henhold til platformen (x64 på en x64-maskine). Årsagen er, at din .NET-applikation med stor sandsynlighed er bygget i AnyCPU-konfiguration, hvilket betyder, at den kører som en x64-applikation på en x64-platform. Det kan så kun indlæse x64 native biblioteker...
Bemærk, at når det kommer til Oracle, kan jeg godt lide at bruge Oracle Instant Client :
- Du behøver ikke at installere noget på målmaskinerne (inklusive udviklerbokse!).
- Du kan sikre dig, at din applikation kører med den specifikke klient, du valgte (version, x86/x64).
- Du kan endda nemt få flere programmer til at fungere med forskellige klientversioner på den samme computer.
- Som en ulempe tilføjer det en betydelig vægt til din applikation (~19 Mb minimum).
Tjek Hvad er det mindste klientfodaftryk, der kræves for at forbinde C# til en Oracle-database? for mere information.
I dit særlige tilfælde anbefaler jeg, at du opsætter et Visual Studio-projekt, der fungerer på x86 såvel som x64-maskiner:tjek mit blogindlæg Oracle Instant Client i Visual Studio . Så er her en vejledning om hvordan man konfigurerer en WiX pakke til Oracle Instant Client målrettet mod x86- eller x64-maskiner. Hvis du bruger en anden implementeringsstrategi, skal du bare sørge for at sende den korrekte klient i henhold til målplatformen.