Jika ada yang masih memiliki masalah ini. Hal yang sama terjadi pada saya ketika saya mencoba memutakhirkan Driver Oracle dari 11.* menjadi 12.*.
Saya menemukan bahwa pada saat runtime, ia memuat perakitan 2.12* dan 4.12* Oracle.DataAccess dari GAC.
Solusi cepatnya adalah dengan melakukan runtime assembly redirect ke 4.12* karena target aplikasi kami di .Net Framework 4.*.Solusi pilihan saya adalah migrasi menggunakan versi Managed Oracle Driver NuGet.
Saya masih tidak tahu mengapa itu membuang pengecualian bahkan jika di dll mereka memeriksa (!assembly.IsDynamic ) seperti yang disebutkan @AardVark71. Tapi baris "assembly.Location" itu diperkenalkan di 12.* Oracle Driver. Juga tidak yakin mengapa memuat dua versi Oracle.DataAccess Assembly