Oracle
 sql >> Base de données >  >> RDS >> Oracle

Lié à Oracle DataAccess :le membre appelé n'est pas pris en charge dans un assembly dynamique.

Au cas où quelqu'un aurait encore ce problème. La même chose m'est arrivée lorsque j'ai essayé de mettre à niveau Oracle Driver de 11.* à 12.*.

J'ai trouvé qu'au moment de l'exécution, il charge à la fois l'assemblage Oracle.DataAccess 2.12 * et 4.12 * à partir de GAC.

La solution rapide consiste simplement à effectuer une redirection d'assemblage d'exécution vers 4.12 * depuis notre cible d'application sur .Net Framework 4. *. Ma solution préférée est de migrer pour utiliser la version Managed Oracle Driver NuGet.

Je n'ai toujours pas compris pourquoi il lève l'exception même si dans la dll ils ont vérifié (!assembly.IsDynamic ) comme @AardVark71 l'a mentionné. Mais cette ligne "assembly.Location" est introduite dans 12.* Oracle Driver. Je ne sais pas non plus pourquoi il a chargé deux versions d'Oracle.DataAccess Assembly