Nel caso qualcuno abbia ancora questo problema. La stessa cosa è successa a me quando ho provato ad aggiornare Oracle Driver da 11.* a 12.*.
Ho scoperto che in fase di esecuzione carica sia l'assembly Oracle.DataAccess 2.12* che 4.12* da GAC.
La soluzione rapida è semplicemente eseguire un reindirizzamento dell'assembly di runtime a 4.12* poiché la nostra app ha come target .Net Framework 4.*. La mia soluzione preferita è migrare per utilizzare la versione Managed Oracle Driver NuGet.
Non ho ancora capito perché genera l'eccezione anche se nella dll hanno verificato (!assembly.IsDynamic ) come menzionato da @AardVark71. Ma quella riga "assembly.Location" è stata introdotta in 12.* Oracle Driver. Inoltre, non sono sicuro del motivo per cui ha caricato due versioni di Oracle.DataAccess Assembly