Question

J'ai reçu cette erreur après la mise à jour vers Windows 7 64 bits, puis l'exécution d'un site Web .NET existant.

[Exception d'opération invalide :La tentative de chargement des bibliothèques client Oracle a généré une exception BadImageFormatException.Ce problème se produira lors de l'exécution en mode 64 bits avec les composants client Oracle 32 bits installés.]

J'ai uniquement installé le client Oracle 32 bits et je comprends que sur ma machine de développement 64 bits, l'application attend des bibliothèques 64 bits SAUF indication explicite.Cela découle des recherches que j'ai effectuées jusqu'à présent.

J'ai lu que je peux changer la plate-forme de solution en x86, ce qui demandera à l'application d'utiliser 32 bits si c'est ce qu'elle trouve.J'aimerais le faire mais il n'y a pas d'option x86 pour le site Web dans la solution Visual Studio.

J'ai créé une application de test et j'ai la possibilité, j'ai créé un site Web de test et ce n'est pas le cas.Comment puis-je compiler un site Web au format x86 afin qu'il utilise le client Oracle 32 bits.

Acclamations

Était-ce utile?

La solution

Dans IIS Manager, créez un pool d'applications et configurez ce pool d'applications pour qu'il s'exécute en mode 32 bits.Attribuez ensuite votre site Web à l'aide du client Oracle 32 bits pour qu'il s'exécute dans ce pool d'applications 32 bits.

Étant donné que le processus de travail lancé par IIS pour ce pool d'applications est un processus 32 bits, lorsqu'il tente de charger le CLR, il chargera le CLR 32 bits et chargera donc votre assembly en mode 32 bits.Cela est vrai même si votre assembly a été compilé pour les modes 64 bits et 32 ​​​​bits.Votre assembly exécuté en mode 32 bits peut alors appeler le client Oracle exécuté en mode 32 bits.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top