मैं एंटीटी फ्रेमवर्क 4 के साथ .NET MySQL कनेक्टर का उपयोग कर रहा हूं, और सबकुछ बढ़िया काम करता है लेकिन सर्वर पर तैनात होने पर मैं अपने अनुप्रयोग के साथ MySQL क्लाइंट DLL फ़ाइलों को पैकेज करना चाहता था, इसलिए हमारे पास नहीं है प्रत्येक सर्वर पर mysql स्थापित करने के बारे में चिंता करने के लिए, प्रत्येक एप्लिकेशन में केवल सही प्रतिलिपि होगी जिसकी आवश्यकता है।.NET MySQL कनेक्टर Conflicting DbProviderFactories
यह संभव बनाने के लिए, मुझे यकीन है कि MySQL के संदर्भ था "कॉपी स्थानीय" इसलिए सेट वे बिन फ़ोल्डरों में कॉपी किया जाएगा और मेरी app.config के लिए निम्न जोड़ा बनाया:
<system.data>
<DbProviderFactories>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
यह काम करता है और मैं रिमोट सर्वर पर mysql इंस्टॉल किए बिना ऐप को तैनात करने में सक्षम हूं, लेकिन अब मुझे अपनी स्थानीय देव मशीन पर समस्या है (जहां मैं में MySQL कनेक्टर स्थापित है), और मुझे यह त्रुटि मिल रही है जब ईएफ कोशिश करता है कनेक्ट करें:
कॉलम 'InvariantName' अद्वितीय होने के लिए बाध्य है। मान 'MySql.Data.MySqlClient' पहले से मौजूद है।
यदि मैं ऊपर दिए गए एक्सएमएल को एप.कॉन्फिग में ऊपर जोड़ता हूं, तो त्रुटि दूर हो जाती है। ऐसा इसलिए है क्योंकि सिस्टम पर एक ही ड्राइवर स्थापित है और machine.config में है।
समाधान क्या है? मुझे उस प्रणाली के आधार पर मैन्युअल रूप से टिप्पणी करने और अनदेखा करने की आवश्यकता नहीं है जिसके लिए मैं आवेदन करता हूं।
सर्वर और स्थानीय मशीन दोनों पर पूरी तरह से काम करता है। धन्यवाद! – Kekoa
मुझे यह समस्या भी थी, और यह एक आकर्षण की तरह काम करता था। मुझे लगा कि यह ऐसा कुछ होगा लेकिन invariant कीवर्ड को आजमाने की कोशिश नहीं करता था। –
यह मेरे लिए भी काम किया! अनेक अनेक धन्यवाद :) – DigitalRayne