В случай, че някой все още има този проблем. Същото се случи и с мен, когато се опитах да надстроя Oracle Driver от 11.* на 12.*.
Открих, че по време на изпълнение зарежда както 2.12*, така и 4.12* Oracle.DataAccess сборка от GAC.
Бързото решение е просто да направите пренасочване на асемблиране по време на изпълнение към 4.12*, тъй като нашето приложение е насочено към .Net Framework 4.*. Предпочитаното от мен решение е мигриране към използване на управлявана версия на Oracle Driver NuGet.
Все още не разбрах защо хвърля изключението, дори ако в dll са проверили (!assembly.IsDynamic), както спомена @AardVark71. Но този ред "assembly.Location" е въведен в 12.* Oracle Driver. Също така не съм съвсем сигурен защо зареди две версии на Oracle.DataAccess Assembly