Un membre de notre équipe de développement a eu une erreur
Tentative de chargement des bibliothèques client Oracle a généré une exception BadImageFormatException
Il semble
Ce problème se produit lors de l'exécution en mode 64 bits avec les composants clients Oracle 32 bits installés.
Mais c’est moi qui ai configuré le système - voici les spécifications:
Des pensées?
Je l'ai vu à quelques reprises récemment lors de l'exécution de Visual studio sur un système d'exploitation à 64 bits. Un moyen simple consiste à installer le client 32 bits sur votre ordinateur de développement 64 bits.
Cordialement, Pete
Je suis désolé d’ajouter une deuxième réponse, mais si vous avez des clients 64 bits et 32 bits installés sur le même ordinateur, vous pouvez également rencontrer ce problème.
Deux clients installés
C:\Oracle\product\11.2.0\client32Bit
C:\Oracle\product\11.2.0\client64Bit
Contrôlez votre chemin Variable d'environnement. Quel client Oracle est en premier, il est chargé avant un autre.
echo %PATH%
XXXX;C:\Oracle\product\11.2.0\client64Bit\BIN;XXX
Depuis que mon client Oracle 64 bits est le premier dans PATH, VS.NET essaie de l’utiliser pour Oracle Connections et lève une exception d’image incorrecte.
set PATH=C:\Oracle\product\11.2.0\client32Bit\BIN;%PATH%
REM Visual Studio 2008
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"
REM Visual Studio 2010
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe"
Après cela, vous pouvez vous connecter à Oracle. Bien sûr, vous pouvez mettre le client 32 bits en premier dans le chemin mais je préfère mettre le client 64 bits avant le 32 bits pour les autres applications.
La même erreur s'est produite après la mise à niveau vers Windows 7. Je l'ai résolue en modifiant la cible de la plate-forme en x86 dans l'onglet Construction de la page Propriétés dans Visual Studio.
Même problème que vous pouvez rencontrer également dans Visual Studio 2013 et le client Oracle 64 bits (versions 11 et 12). Ma solution est:
a) Projet de bureau. Propriétés du projet> Construire> Désactivez la case à cocher "Préférer 32 bits".
b) Projet ou site Web ASP.NET. Menu principal> OUTILS> Options> Projet et solutions> Projets Web> Activez la case à cocher "Utiliser la version 64 bits de IIS Express pour les sites Web et les projets".
J'ai changé Prise en charge activée 32 bits enFALSEdans mon pool d'applications dans IIS7. Cela a fonctionné pour moi. J'ai trouvé ça facile. À votre santé :)
Si vous voulez utiliser 64 bits, voyez ma réponse ici:
Configuration Oracle DataAccess 64 bits
Si vous êtes satisfait du 32 bits, installez simplement la version 32 bits d’Oracle Data Access Components. Étant donné que le serveur de développement de Visual Studio est 32 bits, vous ne rencontrerez aucun problème.
La solution rapide et facile à ce problème vous devez suivre les étapes ci-dessous seulement:
prendre plaisir
Cordialement, Eng. Nawaf H. Bin Taleb.
J'ai eu la même exception et j'ai découvert que cela s'était produit lors de la mise à niveau vers une version MVC supérieure à 2.0. Dans mon cas, MVC 4.0.
La création d'un nouveau projet dans MVC 2.0 a résolu le problème.
Solution simple: fonctionne pour moi. essaye ça.
J'ai passé presque 4 heures à trouver la solution au problème BadImageFormatException.
Scénario: VS 2012, j'essayais d'ajouter un modèle d'entité à la base de données Oracle pour la première fois. Je savais qu'il y avait deux étapes pour ajouter un modèle pour la base de données Oracle:
Mais j’ai été frappé à l’étape 1 avec l’avertissement BadImageFormatException et j’ai trouvé la solution .Résolution:
alors vous êtes prêt à utiliser le modèle :)