मैं पढ़ें/लिखें चाहता हूँ (और बचाने के लिए) अपने सुरक्षा स्तर के कारण दुर्गम है आवेदन के कार्यक्रम में विन्यास फाइलConfigurationProperty
app.config इस तरह है:
<configuration>
<configSections>
<section name="AdWordsApi" type="System.Configuration.DictionarySectionHandler" requirePermission="false"/>
</configSections>
<AdWordsApi>
<add key="LogPath" value=".\Logs\"/>
...
</AdWordsApi>
</configuration>
जब मैं का उपयोग ConfigurationManager.GetSection app.config को पढ़ने के लिए, यह काम करता है:
var adwords_section = (System.Collections.Hashtable) System.Configuration.ConfigurationManager.GetSection("AdWordsApi");
Console.WriteLine((string)adwords_section["LogPath"]);
बी ut जब मैं ConfigurationManager.OpenExeConfiguration का उपयोग करें:
'System.Configuration.ConfigurationElement.this[System.Configuration.ConfigurationProperty]' is inaccessible due to its protection level
लेकिन जैसे-जैसे मैं जानता हूँ कि, GetSection विन्यास प्रोग्राम रनटाइम पर नहीं बचा सकता, जैसा कि मैंने शुरू में कहा था:
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
ConfigurationSection section = config.GetSection("AdWordsApi");
Console.WriteLine(section["LogPath"]);
मैं हमेशा इस त्रुटि मिलती है : मैं प्रोग्राम रनटाइम पर कॉन्फ़िगरेशन को सहेजना चाहता हूं, इसलिए मुझे ओपनएक्स कॉन्फ़िगरेशन का उपयोग करना होगा।
मैं लंबे समय के लिए googled है, क्या मैंने पाया AppSettings उपयोग करने के लिए है, लेकिन कस्टम खंड क्या मैं का उपयोग करें .. क्यों यह "ConfigurationProperty दुर्गम है" त्रुटि हो गई
किसी को समझा सकता है? धन्यवाद
संपादित करें:
मैं प्रतिलिपि स्थानीयसिस्टम और System.Configuration की स्थापना की हैको सच
के रूप में आप ने कहा कि मैं ConfigurationSection का एक उपवर्ग के रूप में परिभाषित किया गया AdwordsSettings: http: //pastecode.com/jF, और कार्यक्रम यहां रुकता है: स्ट्रिंग पथ = AdwordsSettings.Settings.LogPath एक NullReferenceException के साथ (ऑब्जेक्ट किसी ऑब्जेक्ट के उदाहरण पर सेट नहीं है) –
और जब प्रोग्राम वहां रुक जाता है, तो मुझे एडवर्ड्स सेटिंग्स मिलती हैं।सेटिंग्स ** शून्य ** डीबगर –
@gbstack में है, आपको उस लेख को अधिक जानकारी में पढ़ना चाहिए, या कॉन्फ़िगरेशन सिस्टम की बेहतर समझ प्राप्त करने के लिए अधिक समान लेखों के माध्यम से जाना चाहिए, http://www.codeproject.com/KB/dotnet /mysteriesofconfiguration.aspx। आपकी मूल त्रुटि की अपेक्षा की जाती है, क्योंकि आप खंड को पढ़ने के तरीके को गलत समझते हैं। –