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