Om någon fortfarande har detta problem. Samma sak hände mig när jag försökte uppgradera Oracle Driver från 11.* till 12.*.
Jag upptäckte att den laddar både 2.12* och 4.12* Oracle.DataAccess-sammansättning från GAC under körning.
Den snabba lösningen är helt enkelt att göra en runtime assembly-omdirigering till 4.12* eftersom vår app riktar sig till .Net Framework 4.*. Min föredragna lösning är att migrera till att använda Managed Oracle Driver NuGet-version.
Jag förstod fortfarande inte varför det kastade undantaget även om de i dll-filen kontrollerade (!assembly.IsDynamic ) som @AardVark71 nämnde. Men den raden "assembly.Location" introduceras i 12.* Oracle Driver. Inte heller helt säker på varför den laddade två versioner av Oracle.DataAccess Assembly