Pro případ, že by měl někdo stále tento problém. Totéž se mi stalo, když jsem se pokusil upgradovat Oracle Driver z 11.* na 12.*.
Zjistil jsem, že za běhu načítá sestavu Oracle.DataAccess 2.12* i 4.12* z GAC.
Rychlým řešením je jednoduše provést přesměrování sestavení za běhu na 4.12*, protože naše aplikace cílí na .Net Framework 4.*. Mým preferovaným řešením je migrace na verzi Managed Oracle Driver NuGet.
Stále jsem nepřišel na to, proč to vyhazovalo výjimku, i když v dll kontrolovali (!assembly.IsDynamic), jak zmínil @AardVark71. Ale tento řádek "assembly.Location" je zaveden ve 12.* Oracle Driver. Také si nejsem zcela jistý, proč nahrál dvě verze Oracle.DataAccess Assembly