FAQ TBarCode dans les applications Web
Erreur de format incorrect
Erreur de format incorrect
Après avoir déployé votre application Web, vous obtenez :
- Could not load file or assembly TECIT.TBarCode or one of its dependencies. An attempt was made to load a program with an incorrect format.
La raison probable de ce problème est que vous avez ajouté la variante 32 bits de l'assembly TBarCode à votre application (généralement parce que le serveur Web de développement Visual Studio s'exécute en mode 32 bits). Mais votre serveur Web s'exécute sur un système 64 bits et votre pool d'applications est configuré pour ne pas prendre en charge le 32 bits. L'application veut alors charger une bibliothèque 64 bits mais trouve la version 32 bits à la place, d'où l'erreur de format incorrect.
Il existe deux options de solution :
- Vous pouvez passer en 32 bits en modifiant la propriété Enable 32 Bit dans les paramètres avancés de votre pool d'applications IIS. Je suggère de ne le faire que si votre application Web dispose d'un pool d'applications dédié configuré uniquement pour cette application, et qu'il n'y a pas d'obligation de l'exécuter en 64 bits.
- Ou bien vous supprimez toutes les bibliothèques TBarCode du dossier app/bin, installez le programme d'installation MSI du SDK TBarCode x64 sur votre serveur Web, puis redémarrez ou exécutez la commande iisreset dans une console d'administration (toutes les applications sont redémarrées). De cette façon, IIS résoudra automatiquement la variante 64 bits ou 32 bits depuis le GAC (Global Assembly Cache). Dans le GAC, notre programme d'installation stocke des copies de la bibliothèque/assembly TBarCode dans les deux formats, 32 et 64 bits.
Si votre serveur Web héberge aussi d'autres applications, effectuez un redémarrage dans une plage de maintenance dédiée ou lorsque personne d'autre n'accède au serveur.