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.

Leave a reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

 

You need to log in to vote

The blog owner requires users to be logged in to be able to vote for this post.

Alternatively, if you do not have an account yet you can create one here.

Powered by Vote It Up