Se avete deciso di abbandonare il vostro vecchio sistema a 32 bit in favore di uno a 64 bit, voglia essere con un computer nuovo o con uno già carrozzato e un ambiente virtuale, se siete degli sviluppatori in ASP.Net, al primo avvio di un sito che fa uso di assembly esterni, potreste imbattervi nel seguente errore: Un tentativo di caricare un programma con un formato incorretto (An attempt was made to load a program with an incorrect format).
Esattamente come quando ci fu il passaggio dai 16 ai 32 bit, con tutte le storie sulla retrocompatibilità, anche il mondo a 64 bit non potrà esimersi dal rendere accessibili applicativi di vecchio stampo per la nuova tecnlogia.
Ecco che l’errore di cui sopra, abbastanza criptico nel suo genere, verrà fuori allarmando chiunque non sappia di questa ipotesi e non conosca WOW64, acronimo di Windows on Windows64, ovvero un mondo a 32 bit dentro a quello a 64.
Visto sotto il profilo di IIS 7 e Windows 2008 64, quello nel quale ho riscontrato questo errore, si tratta di un semplice passaggio atto ad abilitare questo mondo intermedio. Un passaggio che va ad impattare il modo di comportamento dell’Application Pool associata al sito web, dove con una semplice impostazione si dice di abilitare il sistema a 32 bit. Al resto ci penserà IIS. Fantastico vero?
Cosa fare quindi per rimuovere l’errore?
In pochi, semplici, passaggi:
- Aprite la console di Internet Information Server
- Verficate quale sia l’Application Pool associato al sito web che intendete modificare
- Modificate le proprietà avanzate dell’Application Pool del punto 2 (o eventualmente se è usato da più di un sito createne uno nuovo)
- Cercate la voce Enable 32 bit application nella scheda generale e impostatela a vero
In questo modo il vostro sito web tornerà a funzionare regolarmente.