Temos um projeto asp.net 4.0 que usa algumas estruturas que dependem do log4net versão 1.2.10.0. Hoje eu tentei incluir um novo framework que depende do log4net versão 1.2.11.0, estive preso desde então:
log4net 1.2.10.0 has publickeytoken = 1b44e1d426115821
log4net 1.2.11.0 has publickeytoken = 669e0ddf0bb1aa2a
Como são diferentes, não posso usar redirecionamentos de montagem (para fazer com que todos os frameworks usem a mesma versão do log4net) ou codebase (para que apenas o novo framework use a versão 1.2.11.0) por meio do elemento runtime em web.config.
Quais são minhas opções aqui?
(e por que o bip é que o log4net fica mudando publickeytokens entre as versões, pelo que entendi uma chave perdida foi a razão para a troca entre a versão 1.2.9.0 e 1.2.10.0, eles perderam a chave mais uma vez? para mantê-lo seguro, se necessário ...)
Edit: Ok, então os caras do log4net aparentemente tiveram a ideia de que lançar com duas chaves era uma boa ideia, mas isso significa que cada framework que você faz uso precisa concordar em qual dos dois sabores eles preferem, ou esses frameworks não funcionam lado a lado lado a lado no mesmo appdomain. Sou o único a achar esta ideia horrível? se todo mundo fizesse isso, tudo iria quebrar, certo?
Edit2: Como afirmei, não estou usando log4net em meu código de negócios, mas uso vários frameworks que dependem de 1.2.10.0, e o problema surgiu quando tentei usar um novo framework que dependia de 1.2.11.0 (nova chave ), então a resposta de Stefans não se aplica, porque a nova estrutura espera a nova chave, não a antiga