मैं एक कॉन्फ़िग फ़ाइल thusly तक पहुँचने हूँ उपयोग नहीं कर सकते किसी भी web.config के लिए नहीं।प्रोग्राम के लिए उपयोग मनमाने ढंग से web.config appSettings (app.config ठीक है)
नोट: मैं वर्तमान एप्लिकेशन के web.config तक पहुंचने की कोशिश नहीं कर रहा हूं, मैं web.config को मनमाने ढंग से पथ में संशोधित करने का प्रयास कर रहा हूं।
(मैं ConfigurationManager
के बजाय WebConfigurationManager
की कोशिश की है, लेकिन यह समान परिणाम देता है)
अपवाद AppSettings
संपत्ति एक्सेसर से फेंक दिया जाता है - GetSection("appSettings")
की कोशिश कर रहा है और निश्चित रूप से एक AppSettingsSection
करने के लिए इसे डाली एक ही अपवाद gievs। किसी भी तरह से, यहाँ यह है:
System.InvalidCastException: Unable to cast object of type 'System.Configuration.DefaultSection' to type 'System.Configuration.AppSettingsSection'.
मैं स्पष्ट रूप से चारों ओर खोज की है, लेकिन केवल 'वर्तमान वेब ऐप्लिकेशन' के लिए web.config तक पहुँचने या XmlDocument
/XDocument
का उपयोग कर लोगों ने पाया है।
मेरा अनुमान है .exe.config फ़ाइलों को स्वचालित रूप से कुछ कॉन्फ़िगरेशन-प्रकार की जानकारी प्राप्त होती है जिसका अर्थ यह है कि यह सही ढंग से जानता है कि ऐप सेटिंग्स से कैसे निपटें। हालांकि मुझे नहीं पता कि फ़ाइल नाम के आधार पर, यह web.config के साथ काम नहीं करेगा।
आह। app.config के लिए मैं OpenExeConfiguration उपयोग कर रहा हूँ:
// works fine for .exe.config
var config = ConfigurationManager.OpenExeConfiguration("some-assembly-here.exe");
config.AppSettings.Settings.Add("SomeSetting", "SomeValue");
config.Save();
यहाँ मैं OpenMappedMachineConfiguration
जो machine.config के लिए प्रतीत होता है का उपयोग कर रहा है, तथापि मैं एक मनमाना web.config फ़ाइल को खोलने का एक और तरीका नहीं देख सकते हैं - किसी को भी ?
तो? –
हू, नहीं, एक ही समस्या। ऐसा इसलिए हो सकता है क्योंकि web.exe (या test.exe जैसा कि मैंने test.exe.config भी कोशिश की है) मौजूद नहीं है .. नहीं, यह नहीं है। मुझे अपनी कॉन्फ़िगरेशन के बीच यह अंतर देखने दो ... –
[नवीनतम संपादन देखें: .exe.config मैं एक अलग विधि का उपयोग कर रहा हूं जो काम करता है] –