Como corrigir o erro "Não há maneira de resolver conflitos entre"?

Log4net.dll adicionado recentemente ao nosso objeto de dados. Nosso objeto de dados cria perfeitamente, mas quando você tenta criar algo que faça referência a nosso objeto de dados, você recebe o seguinte erro:

Nenhuma maneira de resolver conflitos entre "log4net, Versão = 1.2.10.0, Cultura = neutra, PublicKeyToken = 692fbea5521e1304" e "log4net, Versão = 1.2.9.0, Cultura = neutra, PublicKeyToken = b32731d11ce58905". Escolhendo "log4net, versão = 1.2.10.0, cultura = neutro, PublicKeyToken = 692fbea5521e1304" arbitrariamente.

Encontrei o seguintefi que me permitiu obter mais informações sobre o problem

@ log4net é usado para várias coisas em nosso projeto. Por exemplo, o crystal instalou o 1.2.9 no GAC. Eu sei que o infragictics usa 1.2.10.

Temos um diretório específico - chame-oc:\references - onde construímos todas as nossas dlls e que todos os nossos aplicativos usam para fazer referência às nossas dlls internas. Portanto, defino especificamente minha referência em nosso objeto de dados como c: \ reference \ log4net.dll, que é a versão 1.2.11. O que é estranho, porque na mensagem de erro acima você não vê o 1.2.11. A dll é referenciada com versão específica: = True & Copy Local: = True. Verifiquei o diretório de compilação e o 1.2.11 do log4net foi movido corretament

Se isso ajudar, aqui estão algumas das mensagens de erro detalhadas:

There was a conflict between "log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" and "log4net, Version=1.2.9.0, Culture=neutral, PublicKeyToken=b32731d11ce58905".
  No way to resolve conflict between "log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" and "log4net, Version=1.2.9.0, Culture=neutral, PublicKeyToken=b32731d11ce58905". Choosing "log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" arbitrarily.
      References which depend on "log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" [C:\Windows\assembly\GAC_32\log4net\1.2.10.0__692fbea5521e1304\log4net.dll].
          C:\Windows\assembly\GAC_MSIL\CrystalDecisions.Shared\13.0.2000.0__692fbea5521e1304\CrystalDecisions.Shared.dll

   References which depend on "log4net, Version=1.2.9.0, Culture=neutral, PublicKeyToken=b32731d11ce58905" [C:\Program Files (x86)\Business Objects\Common\4.0\managed\log4net.dll].          c:\references\DBObjectAdoNet.dll
            Project file item includes which caused reference "c:\references\DBObjectAdoNet.dll".

Atualiza: Até agora, a única maneira que encontrei para corrigir o erro é fazer referência ao log4net em qualquer coisa que faça referência ao DBObjectAdoNet.dll. Essa não é realmente uma solução utilizável para nós, já que quase tudo em todo o sistema a utiliz

egunda atualização,: Tentei colocar o log4net no GAC pensando que resolveria o problema, mas ainda assim não seria possíve

3ª Atualização: Fiz uma chamada de suporte para a Microsoft. Eles querem que eu use Assembly.LoadFrom (), o que eu hesito muito, pois fazemos mais de 300.000 chamadas em um aplicativo e exigiria reflexão para cada chamada, o que atrasaria bastante as coisas.

Descobri que se eu desinstalar o runtime do crystal na minha máquina, o erro desaparece, o que não faz muito sentido, porque a única coisa que faz, até onde sei, é remover o log4net 1.2.10.0 do GAC em as pastas do .NET Framework 2.0, o que não deve importar porque o aplicativo é um aplicativo do .NET Framework 4.

questionAnswers(8)

yourAnswerToTheQuestion