Na wypadek, gdyby ktoś nadal miał ten problem. To samo przydarzyło mi się, gdy próbowałem zaktualizować sterownik Oracle Driver z 11.* do 12.*.
Zauważyłem, że w czasie wykonywania ładuje zarówno zestaw 2.12*, jak i 4.12* Oracle.DataAccess z GAC.
Szybkim rozwiązaniem jest po prostu wykonanie przekierowania zestawu środowiska uruchomieniowego do 4.12*, ponieważ nasza aplikacja jest docelowa w .Net Framework 4.*.Moje preferowane rozwiązanie to migracja do wersji NuGet zarządzanego sterownika Oracle.
Nadal nie wiedziałem, dlaczego wyrzucił wyjątek, nawet jeśli w dll sprawdzili (!assembly.IsDynamic ), jak wspomniał @AardVark71. Ale ta linia "assembly.Location" jest wprowadzona w 12.* Oracle Driver. Nie jestem też do końca pewien, dlaczego załadował dwie wersje zestawu Oracle.DataAccess