FAQ TBarCode .NET
Eccezione Bad Image Format dopo la distribuzione di un'applicazione web
Eccezione Bad Image Format dopo la distribuzione di un'applicazione web
Quanto segue si applica alle versioni di TBarCode .NET precedenti alla 11.15.
Ottenete un System.BadImageFormatException (è stato effettuato un tentativo di caricare un programma con un formato non corretto) dopo aver distribuito il vostro progetto ASP.NET sul vostro server web IIS. Durante lo sviluppo non c'era questo problema.
Motivo: Visual Studio è un'applicazione a 32 bit e il server di sviluppo di solito funziona come processo a 32 bit. Pertanto la versione a 32 bit di TECIT.TBarCode.DLL è stata incorporata nel vostro progetto ed è ora parte della vostra cartella ./bin. Ma il vostro IIS esegue il worker thread come processo a 64 bit e ora carica il formato sbagliato.
Opzione n. 1: distribuite la versione a 64 bit dell'assembly
Usate la versione dalla cartella C:\Program Files\Common Files\TEC-IT\TBarCode\[version] (questa è la versione x64). Sostituite il file ../bin/TECIT.TBarCode.dll sul vostro sistema di destinazione con quella versione.
Opzione n. 2: lasciate che la GAC faccia il lavoro
Rimuovete completamente TECIT.TBarCode.dll dalla vostra cartella bin. In tal caso verrà caricato TECIT.TBarCode.dll dalla global assembly cache (GAC). Il common language runtime carica automaticamente la versione corretta perché la GAC contiene entrambe le versioni, 32 e 64 bit. Prerequisito: il setup dell'SDK TBarCode deve essere eseguito sul server di destinazione, il setup installa le DLL nella GAC per voi.