2009-11-10 4 views
2

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.Comment compiler un site Web pour utiliser le client Oracle 32 bits sur Windows 64 bits

[InvalidOperationException: Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.] 

je n'ai installé le client Oracle 32 bits installé et je comprends que sur ma machine de développement 64 bits l'application attend les bibliothèques 64 bits, sauf indication explicite. C'est de la recherche que j'ai faite jusqu'ici.

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

J'ai créé l'application de test et je l'option, j'ai créé un site de test et il n'a pas fait. Comment puis-je compiler un site Web en x86 afin qu'il utilise le client Oracle 32 bits.

Vive

Répondre

5

Dans Gestionnaire des services Internet, créez une application piscine et que le pool d'applications mis à fonctionner en mode 32 bits. Attribuez ensuite votre site Web à l'aide du client Oracle 32 bits pour l'exécuter dans ce pool d'applications 32 bits. Étant donné que le processus de travail que IIS démarre pour ce pool d'applications est un processus 32 bits, lorsqu'il essaie de charger le CLR, il charge le CLR 32 bits et charge 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 s'exécutant en mode 32 bits peut alors appeler le client Oracle en mode 32 bits.

+0

:) Ouais vient de constater que - je l'ai passé tant de temps à essayer d'obtenir cela je travaille me manque à l'évidence, je reçois maintenant une autre erreur que je crois est le problème de mon client Oracle, mais je fais des progrès! À votre santé –

Questions connexes