हमारे पास एक 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 के एक ही संस्करण का उपयोग करें) या webbconig में रनटाइम एलिमेंट के माध्यम से कोडबेस (सिर्फ नया फ्रेमवर्क संस्करण 1.2.11.0 का उपयोग करने के लिए)।
मेरे लिए यहां क्या विकल्प हैं ?
(और क्यों ब्लिप करता है log4net संस्करणों के बीच publickeytokens को बदलते रहता है, जैसा कि मैं समझता हूं कि यह एक खोई हुई कुंजी संस्करण 1.2.9.0 और 1.2.10.0 के बीच स्विच का कारण थी, क्या उन्होंने कुंजी को फिर से खो दिया था? मैं अपने ड्रॉपबॉक्स को स्वयंसेवा करूंगा? यदि उन्हें इसकी आवश्यकता हो तो इसे सुरक्षित रखने के लिए ...)
संपादित करें: ठीक है, तो log4net लोग जाहिरा तौर पर यह विचार है कि दो कुंजी के साथ जारी एक अच्छा विचार था, लेकिन उस का मतलब है कि था कि हर ढांचे आप की जरूरत का उपयोग करने के सहमत होने के लिए पर जो दो जायके वे पसंद करते हैं, या उन चौखटे नहीं काम कर सकते हैं पक्ष की उसी अपडोमेन की तरफ से। क्या मैं केवल यह एक भयानक विचार पा रहा हूं? अगर सभी ने ऐसा किया तो सब कुछ टूट जाएगा, है ना?
Edit2: जैसा कि मैंने कहा, मैं अपने व्यवसाय कोड में log4net का उपयोग नहीं कर रहा हूं, लेकिन मैं कई रूपरेखाओं का उपयोग करता हूं जो 1.2.10.0 पर निर्भर हैं, और समस्या तब पैदा हुई जब मैंने 1.2.11.0 (नई कुंजी) पर निर्भर एक नए ढांचे का उपयोग करने की कोशिश की ), इसलिए स्टेफन्स जवाब लागू नहीं होता है, क्योंकि नई रूपरेखा नई कुंजी की उम्मीद करेगी, पुरानी नहीं