.net कक्षा पुस्तकालय के साथ app.config का उपयोग करना




configuration (8)

प्रत्येक क्लास लाइब्रेरी कस्टम कॉन्फ़िगरेशनसेक्शन में कॉन्फ़िगरेशन सेटिंग्स को परिभाषित करें।

फिर अपनी प्रक्रिया.exe.config फ़ाइल में कस्टम सेक्शन हैंडलर जोड़ें।

यह एमएसडीएन लेख वीबी और सी # दोनों में उदाहरणों के साथ इसकी व्याख्या में काफी व्यापक है।

इसमें कुछ सुंदर दोहराव कोड लिखना शामिल है - दिमित्रीर ने इस उपकरण को XML कॉन्फ़िगरेशन के एक खंड से कॉन्फ़िगरेशन सेक्शन बनाने के लिए बनाया है, जो मदद कर सकता है।

अक्सर मुझे एक .Net क्लास लाइब्रेरी बनाने की आवश्यकता होती है जिसके लिए डेटाबेस कनेक्शन स्ट्रिंग जैसी चीजों के लिए app.config की आवश्यकता होती है। हालांकि, ये सेटिंग्स कॉलिंग एप्लिकेशन के app.config या web.config में होनी चाहिए। अगर मैं कई अनुप्रयोगों में डीएलएल वितरित करना चाहता हूं तो यह दर्द हो जाता है क्योंकि मुझे इन सेटिंग्स को प्रत्येक एप्लिकेशन के app.config में कॉपी करना होगा।

मैंने कक्षा पुस्तकालय के अंदर से कोड के माध्यम से कॉन्फ़िगरेशन सेटिंग्स मैन्युअल रूप से पढ़ी है, लेकिन यह भी एक बड़ा दर्द है। क्या किसी के पास क्लास लाइब्रेरी के अंदर app.config सेटिंग्स को लोड करने का सबसे अच्छा तरीका है?


एक अलग समाधान में अपनी कक्षा पुस्तकालय बनाएँ। यदि आप उन्हें एक ही समाधान में रखते हैं, तो उच्चतम पदानुक्रम पर app.config इसके बजाय पढ़ा जाएगा।


मुझे पता है कि यह नहीं है कि आप क्या सुनना चाहते हैं, लेकिन प्रवेश बिंदु की कॉन्फ़िगरेशन फ़ाइल इन सेटिंग को रखने के लिए तार्किक स्थान है। यदि प्रत्येक पुस्तकालय की अपनी कॉन्फ़िगरेशन फ़ाइल की आवश्यकता होती है तो यह केवल एक के बजाय प्रत्येक फ़ाइल को संपादित करने के लिए कठिन हो जाएगा।

मेरे पास आपकी लाइब्रेरी (और प्रोजेक्ट के हिस्से के रूप में) के रूप में शामिल डिफ़ॉल्ट सेटिंग्स के साथ एक टेक्स्ट फ़ाइल होगी जिसे डिफ़ॉल्ट सेटिंग्स कॉन्फ़िगरेशन के लिए लाइब्रेरी के साथ वितरित किया जा सकता है (इसे प्रतिलिपि बनाई जा सकती है और कॉन्फ़िगरेशन फ़ाइल में चिपकाया जा सकता है)।


यदि आप NUnit का उपयोग कर रहे हैं, तो अपने app.config फ़ाइल को अपने * .nunit प्रोजेक्ट फ़ाइल नाम के समान नाम से नाम दें। तो उदाहरण के लिए, यदि आपने अपनी परियोजना "ClassLibraryA.nunit" कहा है, तो अपनी कक्षा लाइब्रेरी कॉन्फ़िगरेशन फ़ाइल "ClassLibraryA.config" नाम दें। उन्हें एक ही फ़ोल्डर / निर्देशिका में रहने की आवश्यकता है। NUnit वास्तव में इसे मुख्य कॉन्फ़िगरेशन फ़ाइल के रूप में उपयोग कर रहा है।

यदि आपके पास कस्टम कोड है , तो आपको यह सुनिश्चित करना होगा कि आपका app.config (या web.config) क्लास लाइब्रेरी की app.config फ़ाइल का संदर्भ दे रहा है। एप्लिकेशन केवल रूट app.config या web.config की परवाह करता है। इसलिए आपको एक कस्टम कॉन्फ़िगरेशन अनुभाग जोड़ने की आवश्यकता है जो क्लास लाइब्रेरी app.config को इंगित करता है।


एक चीज जो आप कर सकते हैं वह सिर्फ आपकी लाइब्रेरी के लिए एक अलग सेटिंग्स फ़ाइल है, तो आपको केवल अपनी एंट्री ऐप्स कॉन्फ़िगरेशन फ़ाइल में इसका संदर्भ होना होगा।

इस पर जानकारी के लिए इस प्रश्न में स्वीकृत उत्तर देखें।


प्रत्येक कक्षा पुस्तकालय के लिए अपनी स्वयं की कॉन्फ़िगरेशन फ़ाइल का उपयोग करने की कोई बड़ी समस्या नहीं है। यदि आप vb.net का उपयोग करते हैं तो आप "सेटिंग्स" पृष्ठ पर "मेरे प्रोजेक्ट" पैनल के माध्यम से मूल्य जोड़ सकते हैं।

केवल एक चीज जो आपको करना है वह है अपनी कक्षा लाइब्रेरी सेटिंग्स पर "My.Settings.Save" को कॉल करना (और न केवल आपकी मुख्य एप्लिकेशन सेटिंग्स फ़ाइल पर)।

यह सी # के साथ भी काम करता है (लेकिन शायद अधिक मैन्युअल काम की जरूरत है)।


आप अपनी खुद की एक्सएमएल फ़ाइल बना सकते हैं (इसे ऐपकोनफिग.एक्सएमएल या कुछ अगर आप चाहते हैं), सिस्टम के बजाय System.Xml का उपयोग करें। इसे पढ़ने के लिए कॉन्फ़िगरेशन, और इसे अपने डीएल के साथ शामिल करें।


ऐप गुणों पर जाएं -> सेटिंग टैब; वहां अपनी सेटिंग्स जोड़ें।

सेटिंग का उपयोग करने के लिए Properties.Settings.Default.<SettingName> का उपयोग करें। बस!





configuration