Breadcrumbs

Como resolver "Could not load file or assembly 'IBM.Data.DB2' or one of its dependencies" nos módulos Web

Introdução

Ao acessar os módulos Web do e-Forms e o mesmo apresentar o erro: “Could not load file or assembly 'IBM.Data.DB2' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)” e neste erro reclamar da versão da DLL IBM.Data.DB2 (ex.: Could not load file or assembly 'IBM.Data.DB2, Version=9.7.4.4). Analisando o ambiente foi verificado que o mesmo está com todas as permissões corretas, instalação correta do IIS e Framework. Erro apresentado neste caso em anexo.

erro e-Monitor.msg

Passo a passo

Retirar as referências das DLL's da IBM dos arquivos machine.config e web.config dos diretórios “C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config” e “C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config”. Ex.:

  <dependentAssembly>
    <assemblyIdentity name="IBM.Data.DB2" publicKeyToken="7c307b91aa13d208" culture="" />
    <bindingRedirect oldVersion="8.0.0.0-9.0.0.4" newVersion="9.7.4.4" />
  </dependentAssembly>
  ...
  <add name="IBM DB2 .NET Data Provider" invariant="IBM.Data.DB2" description="IBM DB2 Data Provider for .NET Framework 4.0" type="IBM.Data.DB2.DB2Factory, IBM.Data.DB2, Version=9.7.4.4, Culture=neutral, PublicKeyToken=7c307b91aa13d208" />

Após isso deve ser reiniciado o IIS. Exemplo de arquivo config errado e correto.

Exemplo arquivos config.zip

Outras informações

Fonte: Titans Team