Solution simple :vous devez installer le client Oracle en fonction de la plate-forme (x64 sur une machine x64). La raison en est que votre application .NET est très probablement construite dans la configuration AnyCPU, ce qui signifie qu'elle s'exécutera en tant qu'application x64 sur une plate-forme x64. Il ne peut alors charger que des librairies natives x64...
Notez que lorsqu'il s'agit d'Oracle, j'aime utiliser Oracle Instant Client :
- Vous n'avez rien à installer sur les machines cibles (y compris les boîtes de développement !).
- Vous pouvez vous assurer que votre application s'exécutera avec le client spécifique que vous avez choisi (version, x86/x64).
- Vous pouvez même facilement faire fonctionner plusieurs applications avec différentes versions de client sur le même ordinateur.
- En revanche, cela ajoute un poids important à votre application (~19 Mo minimum).
Vérifiez Quelle est l'empreinte client minimale requise pour connecter C# à une base de données Oracle ? pour plus d'informations.
Dans votre cas particulier, je vous recommande de configurer un projet Visual Studio qui fonctionnera sur des machines x86 et x64 :consultez mon article de blog Oracle Instant Client dans Visual Studio . Alors voici un guide sur comment configurer un WiX package pour Oracle Instant Client ciblant les machines x86 ou x64. Si vous utilisez une autre stratégie de déploiement, assurez-vous simplement de fournir le bon client en fonction de la plate-forme cible.