FAQ TBarCode nelle applicazioni Web
Errore di formato non corretto
Errore di formato non corretto
Dopo aver distribuito la vostra applicazione web ottenete:
- 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.
Il possibile motivo di questo problema è che avete aggiunto la variante a 32 bit dell'assembly TBarCode alla vostra applicazione (tipicamente perché il server web di sviluppo di Visual Studio funziona in modalità 32 bit). Ma il vostro server web funziona su un sistema a 64 bit e il vostro application pool è configurato per non supportare 32 bit. A questo punto l'applicazione vuole caricare una libreria a 64 bit ma trova invece la versione a 32 bit, il che porta all'errore di formato non corretto.
Ci sono due opzioni per una soluzione:
- Potete passare a 32 bit modificando la proprietà Enable 32 Bit nel vostro application pool IIS (impostazioni avanzate). Consiglio di farlo solo se la vostra applicazione web ha un application pool dedicato configurato solo per questa applicazione e non c'è necessità di eseguire l'app a 64 bit.
- Oppure rimuovete tutte le librerie TBarCode rilevanti dalla cartella app/bin, installate il setup MSI dell'SDK TBarCode x64 sul vostro server web e poi eseguite un riavvio oppure il comando iisreset da una console amministrativa (tutte le app vengono riavviate). In questo modo IIS risolverà automaticamente la variante a 64 bit o a 32 bit dalla GAC (Global Assembly Cache). Nella GAC il nostro setup memorizza copie della libreria/assembly TBarCode sia in formato a 32 bit sia a 64 bit.
Se il vostro server web ospita anche altre applicazioni, dovreste effettuare un riavvio in una finestra di manutenzione dedicata o quando nessun altro accede al server.