.net - Windows फॉर्म C#अनुप्रयोग में कॉन्फ़िगरेशन फ़ाइल रखने का सबसे आसान तरीका




xml winforms (8)

.NET अनुप्रयोग कॉन्फ़िगरेशन के बारे में सबसे अच्छा (IMHO) आलेख कोडप्रोजेक्ट पर .NET 2.0 कॉन्फ़िगरेशन के रहस्यों को खंडित करना है । और .NET कॉन्फ़िगरेशन फ़ाइलों में सेक्शन के बारे में मेरा अगला पसंदीदा (छोटा) लेख अनुभाग हैंडलर को समझ रहा है - App.config फ़ाइल

मैं वास्तव में .NET के लिए नया हूं और मुझे अभी भी कॉन्फ़िगरेशन फ़ाइलों के काम के बारे में जानकारी नहीं मिली है।

हर बार जब मैं इसके बारे में Google पर खोज करता हूं तो मुझे web.config के बारे में परिणाम मिलते हैं, लेकिन मैं विंडोज़ फॉर्म एप्लीकेशन लिख रहा हूं।

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

मैं कैसे परिभाषित करूं कि मेरी कॉन्फ़िगरेशन फ़ाइल XYZ.xml है? या क्या यह कॉन्फ़िगरेशन फ़ाइल के लिए "डिफ़ॉल्ट" नाम है? मुझे अभी भी वह नहीं मिला।

साथ ही, मैं एक नया खंड कैसे परिभाषित करूं, क्या मुझे वास्तव में एक वर्ग बनाने की आवश्यकता है जो कॉन्फ़िगरेशनसेक्शन से प्राप्त हो?

मैं इस तरह के कुछ मूल्यों के साथ एक विन्यास फाइल होना चाहता हूं:

<MyCustomValue>1</MyCustomValue>
<MyCustomPath>C:\Some\Path\Here</MyCustomPath>

क्या ऐसा करने का कोई आसान तरीका है? क्या आप सरल कॉन्फ़िगरेशन फ़ाइल से / पढ़ने और लिखने के तरीके को सरल तरीके से समझा सकते हैं?


System.Configuration.ConfigurationSettings.AppSettings [ "MyKey"];

AppSettings को बहिष्कृत कर दिया गया है और अब अप्रचलित माना जाता है। [ link ]

इसके अलावा app.config के ऐपसेटिंग अनुभाग को एप्लिकेशन सेटिंग्स अनुभाग द्वारा प्रतिस्थापित किया गया है।

जैसा कि किसी और ने उल्लेख किया है, आपको सिस्टम का उपयोग करना चाहिए। कॉन्फ़िगरेशन। कॉन्फ़िगरेशन प्रबंधक [ link ] जो नेट 2.0 के लिए नया है


आपको एक App.config फ़ाइल बनाना चाहिए (web.config के समान ही)

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

सुनिश्चित करें कि आप सिस्टम का उपयोग कर जोड़ते हैं। अपनी परियोजना में कॉन्फ़िगरेशन।

फिर आप इसमें मूल्य जोड़ सकते हैं

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="setting1" value="key"/>
  </appSettings>
  <connectionStrings>
    <add name="prod" connectionString="YourConnectionString"/>
  </connectionStrings>
</configuration>
    private void Form1_Load(object sender, EventArgs e)
    {
        string setting = ConfigurationManager.AppSettings["setting1"];
        string conn = ConfigurationManager.ConnectionStrings["prod"].ConnectionString;
    }

माइक्रोसॉफ्ट के अनुसार , बस एक नोट, आपको कॉन्फ़िगरेशन सेटिंग्स के बजाय कॉन्फ़िगरेशन मैनेजर का उपयोग करना चाहिए। (टिप्पणी अनुभाग देखें) "कॉन्फ़िगरेशन सेटिंग्स क्लास केवल पिछड़ा संगतता प्रदान करता है। नए अनुप्रयोगों के लिए आपको कॉन्फ़िगरेशन प्रबंधक श्रेणी या WebConfigurationManager क्लास का उपयोग करना चाहिए।"



क्या आप नेट और वीएस का संस्करण उपयोग कर रहे हैं?

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


पिछले उत्तरों का स्पष्टीकरण ...

1) अपनी परियोजना में एक नई फाइल जोड़ें (जोड़ें-> नया आइटम-> एप्लिकेशन कॉन्फ़िगरेशन फ़ाइल)

2) नई कॉन्फ़िगरेशन फ़ाइल समाधान एक्सप्लोरर में App.Config के रूप में दिखाई देगी।

3) टेम्पलेट के रूप में निम्न का उपयोग करके इस फ़ाइल में अपनी सेटिंग्स जोड़ें

<configuration>
  <appSettings>
    <add key="setting1" value="key"/>
  </appSettings>
  <connectionStrings>
    <add name="prod" connectionString="YourConnectionString"/>
  </connectionStrings>
</configuration>

4) उन्हें इस तरह से पुनर्प्राप्त करें:

private void Form1_Load(object sender, EventArgs e)
{
    string setting = ConfigurationManager.AppSettings["setting1"];
    string conn = ConfigurationManager.ConnectionStrings["prod"].ConnectionString;
}

5) जब बनाया गया, तो आपके आउटपुट फ़ोल्डर में <assemblyname> .exe.config नामक एक फ़ाइल होगी, यह App.Config फ़ाइल की एक प्रति होगी। इस फ़ाइल को बनाने के लिए डेवलपर द्वारा आगे काम करने की आवश्यकता नहीं है।


मैं उन अन्य उत्तरों से सहमत हूं जो आपको app.config पर इंगित करते हैं। हालांकि, ऐप.कॉन्फिग से सीधे मूल्यों को पढ़ने के बजाय, आपको एक यूटिलिटी क्लास बनाना चाहिए (ऐपसेटिंग वह नाम है जिसका उपयोग मैं करता हूं) उन्हें पढ़ने और उन्हें गुणों के रूप में बेनकाब करना चाहिए। ऐपसेटिंग क्लास का उपयोग कई स्टोर्स से सेटिंग्स को एकत्रित करने के लिए किया जा सकता है, जैसे एप.कॉन्फिग के मूल्य और असेंबली (असेंबली वर्जन और असेंबलीफाइलवर्सन) से एप्लिकेशन संस्करण जानकारी।


विंडोज़ फॉर्म में, आपके पास एक app.config , जो web.config समान है। लेकिन जब से मैं देखता हूं कि आपको कस्टम मानों के लिए इसकी आवश्यकता है, तो मैं सेटिंग्स का उपयोग करने का सुझाव देता हूं। ऐसा करने के लिए, अपनी प्रोजेक्ट गुणों को खोलें, फिर सेटिंग्स पर जाएं। यदि कोई सेटिंग फ़ाइल मौजूद नहीं है तो आपके पास एक बनाने के लिए एक लिंक होगा। फिर, आप उस तालिका में सेटिंग्स जोड़ सकते हैं जो आप वहां देखते हैं, जो उपयुक्त एक्सएमएल, और एक सेटिंग क्लास उत्पन्न करेगा जो सेटिंग्स को लोड और सहेजने के लिए उपयोग किया जा सकता है। सेटिंग क्लास को कुछ नाम दिया जाएगा जैसे DefaultNamespace.Properties.Settings । फिर, आप इस तरह के कोड का उपयोग कर सकते हैं:

using DefaultNamespace.Properties;

namespace DefaultNamespace {
    class Class {
        public int LoadMySettingValue() {
            return Settings.Default.MySettingValue;
        }
        public void SaveMySettingValue(int value) {
            Settings.Default.MySettingValue = value;
        }
    }
}




configuration