दिलचस्प पोस्ट
मैं कैसे पता लगा सकता हूँ कि किस प्रक्रिया को .NET का उपयोग कर फ़ाइल लॉक कर रही है? लोड डेटा का उपयोग करके MySQL तालिका में आयात करते समय CSV फ़ाइल में स्तंभों को कैसे छोड़ें? XmlDocument का उपयोग करते हुए XML विशेषता पढ़ें .NET String.Format () संख्या के लिए हजारों स्थान पर अल्पविराम जोड़ना नवीनतम गैर-एनए मूल्य के साथ एनएएस की जगह प्राधान्यबंधक संपार्श्विक को प्राथमिकता विषय निर्धारित करने की आवश्यकता है जावा में वाइल्डकार्ड स्ट्रिंग से मेल खाने वाली फ़ाइलों को कैसे खोजें? mysqli_query कम से कम 2 मापदंडों की उम्मीद है हाशिया-शीर्ष स्पैन तत्व के लिए काम नहीं कर रहा है? जावा में कस्टम अपवाद वर्ग को परिभाषित कैसे करें, सबसे आसान तरीका है? जावा में एक स्थिर विधि से क्लास का नाम प्राप्त करना बूटस्ट्रैप 3 + रेल 4 – कुछ गिलीफ़िकॉन काम नहीं कर रहे हैं कैसे strcmp () काम करता है? ब्राउज़र का आकार बदलते समय jqGrid का आकार बदलें? मैं कैसे Redux में एक मोडल संवाद प्रदर्शित कर सकता हूं जो अतुल्यकालिक कार्य करता है?

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

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

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

वेब के समाधान से एकत्रित समाधान "क्लास पुस्तकालय के साथ app.config का उपयोग करना"

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

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

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

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

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

फिर कस्टम अनुभाग हैंडलर्स को अपने process.exe.config फ़ाइल में जोड़ें।

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

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

यहाँ एक विकल्प है

अपने ऐप के लिए "मर्ज" तरीके खोजने का प्रयास करने के बजाय, या अपने डीएलएल (और "डिजाइन द्वारा" के आसपास क्या काम करने की कोशिश कर रहे हैं) में कॉन्फ़िगरेशन आइटम भी डाल रहे हैं, यह कोशिश करें:

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

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

और नहीं DLL.config!

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

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

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

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

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

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

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

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

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