Could not load file or assembly ‘XXXX’ or one of its dependencies. An attempt was made to load a program with an incorrect format.
18/04/2010 in Hacks, Tips and Tricks
Você já viu esse erro antes?
Could not load file or assembly ‘XXXX’ or one of its dependencies. An attempt was made to load a program with an incorrect format.
O problema se dar por conta da versão de compilação da aplicação e versão aceita pelo IIS. Provavelmente você está tentando rodar a aplicação em um ISS numa maquina de 64bits.
A DLL em questão está compilada para 32 bits. Para verificar, vá ao Visual Studio, clique no projeto em questão, vá em propriedades e na aba “Build”, verifique a seguinte configuração:
Veja que na sessão “Plataform target”, está marcado x86, o que significa que a compilação é para 32bits. Por algum motivo você pode realmente precisar compilar sua aplicação dessa forma e eu não irei discutir isso, mas o que realmente está causando o problema é uma configuração no IIS.

O problema real é que o IIS na maquina 64Bits está usando um Application Pool que não permite que uma DLL de 32bits seja processada.
Abra o IIS Manager encontre o application pool para o site que apresenta o problema e selecione Advanced Settings. Você verá a tela acima.
Veja que existe uma opção chamada “Enable 32-Bit Applications” isso é o que está causando o erro. Habilite essa opção e tudo deve voltar ao normal.
