У нас есть проект asp.net 4.0, который использует пару фреймворков, которые зависят от версии log4net 1.2.10.0. Сегодня я попытался включить новую структуру, которая зависит от версии log4net 1.2.11.0, с которой я застрял:
log4net 1.2.10.0 имеет publickeytoken = 1b44e1d426115821
log4net 1.2.11.0 имеет publickeytoken = 669e0ddf0bb1aa2a
Так как они разные, я не могу использовать перенаправление сборки (чтобы все фреймворки использовали одну и ту же версию log4net) или codebase (чтобы иметь только новую версию используемой версии 1.2.11.0) через элемент времени выполнения в web.config.
Каковы мои варианты здесь?
(и почему сбой в log4net продолжает меняться в публикациях publiqueytokens между версиями, так как я понимаю, что потерянный ключ был причиной переключения между версиями 1.2.9.0 и 1.2.10.0, они снова потеряли ключ? добровольно удаляй мой пакет, чтобы он был в безопасности, если он в нем нуждается...)
Edit: Хорошо, поэтому у парней log4net, по-видимому, была идея, что выпуск с двумя ключами является хорошей идеей, но это означает, что каждая используемая вами фреймворк должна согласовать, какой из двух вкусов они предпочитают, или те рамки не могут работать бок о бок в одном и том же приложении. Неужели я единственный, кто считает эту ужасную идею? если бы все сделали это, тогда все сломалось бы, верно?
Edit2: Как я уже сказал, я не использую log4net в своем бизнес-коде, но я использую несколько фреймворков, которые зависят от 1.2.10.0, и проблема возникла, когда я попытался использовать новую структуру, которая зависела от 1.2.11.0 (новый ключ), поэтому ответ Stefans не применяется, потому что новая структура ожидает новый ключ, а не старый