हाल ही में हमारे डेटा ऑब्जेक्ट में log4net.dll जोड़ा गया। हमारे डेटा वस्तु पूरी तरह से बनाता है लेकिन जब आप कुछ भी है कि का संदर्भ बनाने की कोशिश हमारे डेटा आपको निम्न त्रुटि प्राप्त वस्तु:"त्रुटि के बीच संघर्ष को हल करने का कोई तरीका" कैसे ठीक करें?
No way to resolve conflict between "log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" and "log4net, Version=1.2.9.0, Culture=neutral, PublicKeyToken=b32731d11ce58905". Choosing "log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" arbitrarily.
मैं निम्नलिखित thread कि मुझे सक्षम समस्या के बारे में और अधिक जानकारी प्राप्त करने के लिए मिला।
लॉग 4नेट का उपयोग हमारी परियोजना में विभिन्न प्रकार के लिए किया जाता है। उदाहरण के लिए, क्रिस्टल ने जीएसी में 1.2.9 इंस्टॉल किया। मुझे पता है कि infragictics 1.2.10 का उपयोग करता है।
हमारे पास एक विशिष्ट निर्देशिका है - इसे c:\references
पर कॉल करें - जहां हम अपने सभी डीएलएस बनाते हैं और हमारे सभी एप्लिकेशन हमारे आंतरिक डीएलएस को संदर्भित करने के लिए उपयोग करते हैं। तो मैं विशेष रूप से हमारे डेटा ऑब्जेक्ट में c: \ references \ log4net.dll पर अपना संदर्भ सेट करता हूं जो संस्करण 1.2.11 है। जो अजीब है क्योंकि आपके ऊपर त्रुटि संदेश में 1.2.11 दिखाई नहीं देता है। डीएलएल विशिष्ट संस्करण के साथ संदर्भित है: = सही & स्थानीय कॉपी करें: = सही। मैंने लॉग 4net की निर्माण निर्देशिका & 1.2.11 को ठीक से स्थानांतरित किया है।
There was a conflict between "log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" and "log4net, Version=1.2.9.0, Culture=neutral, PublicKeyToken=b32731d11ce58905".
No way to resolve conflict between "log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" and "log4net, Version=1.2.9.0, Culture=neutral, PublicKeyToken=b32731d11ce58905". Choosing "log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" arbitrarily.
References which depend on "log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" [C:\Windows\assembly\GAC_32\log4net\1.2.10.0__692fbea5521e1304\log4net.dll].
C:\Windows\assembly\GAC_MSIL\CrystalDecisions.Shared\13.0.2000.0__692fbea5521e1304\CrystalDecisions.Shared.dll
References which depend on "log4net, Version=1.2.9.0, Culture=neutral, PublicKeyToken=b32731d11ce58905" [C:\Program Files (x86)\Business Objects\Common\4.0\managed\log4net.dll]. c:\references\DBObjectAdoNet.dll
Project file item includes which caused reference "c:\references\DBObjectAdoNet.dll".
अद्यतन: अब तक एक ही रास्ता मैं त्रुटि को ठीक करने के लिए मिला DBObjectAdoNet.dll संदर्भित कुछ भी में log4net संदर्भ के लिए है
इसे यहाँ में मदद करता है, तो विस्तृत त्रुटि संदेशों में से कुछ हैं। यह वास्तव में हमारे लिए उपयोग करने योग्य समाधान नहीं है क्योंकि लगभग हमारे पूरे सिस्टम में सबकुछ इसका उपयोग करता है।
दूसरा अपडेट: जीएसी सोच में log4net डालने का प्रयास किया जो समस्या को ठीक करेगा लेकिन फिर भी नहीं जाएंगे।
तीसरा अद्यतन: मैंने माइक्रोसॉफ्ट को एक समर्थन कॉल किया है। वे चाहते हैं कि मैं असेंबली का उपयोग करें। लोडफ्रॉम() जो मैं बहुत ही संकोच करता हूं, क्योंकि हम एक आवेदन में 300,000 से अधिक कॉल करते हैं और प्रत्येक कॉल के लिए प्रतिबिंब की आवश्यकता होगी जो चीजों को धीमा कर देगा।
मुझे पता चला कि अगर मैं अपनी मशीन पर क्रिस्टल रनटाइम को अनइंस्टॉल करता हूं तो त्रुटि दूर हो जाती है जो बहुत समझ में नहीं आता है क्योंकि जहां तक मैं कह सकता हूं, केवल एक चीज लॉग 4नेट 1.2.10.0 को हटा देती है जीएसी .NET फ्रेमवर्क 2.0 फ़ोल्डरों के तहत, इससे कोई फर्क नहीं पड़ता क्योंकि ऐप एक .NET Framework 4 ऐप है।
'उद्धरण' मुझे पता चला कि अगर मैं अपनी मशीन '/ उद्धरण' पर क्रिस्टल रनटाइम को अनइंस्टॉल करता हूं - प्रश्न: ** क्रिस्टल रनटाइम **? क्या ** क्रिस्टल रनटाइम **? –
@ रॉबर्ट क्रिस्टल 11 x86 .Net Framework 4 के लिए। मुझे लगता है कि जब मुझे समस्या थी तो x64 संस्करण के साथ भी यही बात हुई। – coding4fun
मैंने लॉग 4नेट संस्करण का एक संदर्भ जोड़ा जो मैं उस परियोजना में चाहता था जो संघर्ष को हल करने में असमर्थ था और इससे समस्या हल हो गई। –