Falls noch jemand dieses Problem hat. Dasselbe ist mir passiert, als ich versucht habe, Oracle Driver von 11.* auf 12.* zu aktualisieren.
Ich habe festgestellt, dass zur Laufzeit sowohl 2.12 * als auch 4.12 * Oracle.DataAccess-Assembly von GAC geladen werden.
Die schnelle Lösung besteht darin, einfach eine Runtime-Assembly-Umleitung auf 4.12* durchzuführen, da unser App-Ziel .Net Framework 4.* ist. Meine bevorzugte Lösung ist die Migration zur Verwendung der verwalteten Oracle-Treiber-NuGet-Version.
Ich habe immer noch nicht herausgefunden, warum es die Ausnahme auslöst, selbst wenn sie in der DLL (!assembly.IsDynamic ) überprüft haben, wie @AardVark71 erwähnt hat. Aber diese Zeile „assembly.Location“ wird in 12.* Oracle Driver eingeführt. Auch nicht ganz sicher, warum es zwei Versionen von Oracle.DataAccess Assembly geladen hat