Mamy projekt asp.net 4.0, który używa kilku struktur, który jest zależny od log4net w wersji 1.2.10.0. Dzisiaj próbowałem dołączyć nowy framework, który jest zależny od log4net w wersji 1.2.11.0, utknąłem od tego czasu:
log4net 1.2.10.0 ma publickeytoken = 1b44e1d426115821
log4net 1.2.11.0 ma publickeytoken = 669e0ddf0bb1aa2a
Ponieważ są one różne, nie mogę używać ani przekierowań do zestawu (aby wszystkie frameworki korzystały z tej samej wersji log4net), ani bazy kodu (aby mieć tylko nową wersję frameworka w wersji 1.2.11.0) za pośrednictwem elementu wykonawczego w pliku web.config.
Jakie mam opcje tutaj?
(i dlaczego sygnał dźwiękowy log4net ciągle zmienia publickeytokens między wersjami, jak rozumiem, zgubiony klucz był przyczyną przełączenia między wersjami 1.2.9.0 i 1.2.10.0, czy znowu zgubili klucz? Zgłoszę moją skrzynkę referencyjną aby był bezpieczny, gdyby tego potrzebowali ...)
Edycja: Ok, więc faceci z log4net najwyraźniej wpadli na pomysł, że wydanie z dwoma kluczami było dobrym pomysłem, ale oznacza to, że każdy framework, którego używasz, musi uzgodnić, który z dwóch preferuje, lub te ramy nie mogą działać po stronie obok siebie w tej samej domenie aplikacji. Czy tylko ja uważam, że to okropny pomysł? gdyby wszyscy to zrobili, wszystko by się zepsuło, prawda?
Edit2: Jak powiedziałem, nie używam log4net w moim kodzie biznesowym, ale używam kilku frameworków, które zależą od 1.2.10.0, a problem pojawił się, gdy próbowałem użyć nowego frameworka, który zależał od 1.2.11.0 (nowy klucz ), więc odpowiedź Stefansa nie ma zastosowania, ponieważ nowy framework będzie oczekiwał nowego klucza, a nie starego