Proste rozwiązanie:należy zainstalować klienta Oracle zgodnie z platformą (x64 na maszynie x64). Powodem jest to, że Twoja aplikacja .NET najprawdopodobniej zostanie zbudowana w konfiguracji AnyCPU, co oznacza, że będzie działać jako aplikacja x64 na platformie x64. Następnie może ładować tylko natywne biblioteki x64...
Zauważ, że jeśli chodzi o Oracle, lubię używać Oracle Instant Client :
- Nie musisz niczego instalować na komputerach docelowych (w tym w dev boxach!).
- Możesz upewnić się, że Twoja aplikacja będzie działać z wybranym klientem (wersja, x86/x64).
- Możesz nawet łatwo mieć wiele aplikacji działających z różnymi wersjami klienta na tym samym komputerze.
- Wadą jest to, że znacznie zwiększa wagę Twojej aplikacji (minimum ~19 MB).
Sprawdź Jaki jest minimalny ślad klienta wymagany do połączenia C# z bazą danych Oracle? aby uzyskać więcej informacji.
W twoim konkretnym przypadku zalecam skonfigurowanie projektu Visual Studio, który będzie działał na maszynach x86 i x64 :sprawdź mój wpis na blogu Oracle Instant Client w Visual Studio . Oto wskazówki dotyczące jak skonfigurować WiX pakiet dla Oracle Instant Client kierowanie na maszyny x86 lub x64. Jeśli używasz innej strategii wdrażania, po prostu upewnij się, że dostarczasz odpowiedniego klienta zgodnie z platformą docelową.