Chúng tôi có một dự án asp.net 4.0 sử dụng một vài khung công tác phụ thuộc vào phiên bản log4net 1.2.10.0. Hôm nay tôi đã cố gắng đưa vào một khung công tác mới phụ thuộc vào phiên bản log4net 1.2.11.0, tôi đã bị mắc kẹt kể từ đó:
log4net 1.2.10.0 có publickeytoken = 1b44e1d426115821
log4net 1.2.11.0 có publickeytoken = 669e0ddf0bb1aa2a
Vì chúng khác nhau nên tôi không thể sử dụng chuyển hướng lắp ráp (để làm cho tất cả các khung sử dụng cùng một phiên bản log4net) hoặc codebase (để chỉ sử dụng khung mới phiên bản 1.2.11.0) thông qua phần tử thời gian chạy trong web.config.
Lựa chọn của tôi là gì đây ?
(và lý do tại sao log4net tiếp tục thay đổi mã thông báo công khai giữa các phiên bản, theo tôi hiểu đó là một khóa bị mất là lý do chuyển đổi giữa phiên bản 1.2.9.0 và 1.2.10.0, họ đã đánh mất khóa một lần nữa không? Tôi tình nguyện làm tài khoản đăng của mình để giữ an toàn nếu họ cần ...)
Chỉnh sửa: Ok, vì vậy những người đăng nhập log4net rõ ràng có ý tưởng rằng việc phát hành với hai khóa là một ý tưởng hay, nhưng điều đó có nghĩa là mọi khung công tác bạn sử dụng cần phải thống nhất với nhau về hương vị nào trong số hai hương vị mà họ thích, hoặc những khung công tác đó không thể hoạt động cùng nhau cạnh nhau trong cùng một miền ứng dụng. Tôi có phải là người duy nhất thấy đây là một ý tưởng kinh khủng không? nếu tất cả mọi người làm điều này thì mọi thứ sẽ đổ vỡ, phải không?
Chỉnh sửa2: Như tôi đã nêu, tôi không sử dụng log4net trong mã doanh nghiệp của mình, nhưng tôi sử dụng một số khung phụ thuộc vào 1.2.10.0 và vấn đề đã phát sinh khi tôi cố gắng sử dụng khung mới phụ thuộc vào 1.2.11.0 (khóa mới ), vì vậy câu trả lời của Stefans không áp dụng, bởi vì khuôn khổ mới sẽ mong đợi khóa mới, không phải khóa cũ