5

से ऐप सेटिंग्स का हिस्सा पढ़ें, मैं secrets.config नामक बाहरी कॉन्फ़िगरेशन फ़ाइल से अपने कंसोल एप्लिकेशन के appSettings का एक हिस्सा पढ़ना चाहता हूं, जबकि बाकी इसे मैं पढ़ना चाहूंगा app.configबाहरी कॉन्फ़िगरेशन फ़ाइल

वर्तमान में, मेरे पास यह सेट अप है लेकिन ऐसा लगता है कि यह secrets.config से नहीं पढ़ रहा है और यह मुझे पढ़ने की विफलता के बारे में भी नहीं बता रहा है।

मेरी app.config

<appSettings file = "secrets.config"> 
    <add key = "Foo" value = "Bar" /> 
</appSettings> 

secrets.config में, जो app.config

<appSettings> 
    <add key = "Secret" value = "Tiger" /> 
</appSettings> 

मेरी कोड में उसी फ़ोल्डर में है में

var secret = ConfigurationManager.AppSettings["Secret"]; 

// secret turns out to be null 
+0

संभावित डुप्लिकेट [ConfigurationManager.AppSettings एक और कॉन्फ़िग फ़ाइल का उपयोग] (http://stackoverflow.com/questions/16425407/configurationmanager-appsettings -यूज-ए-कॉन्फिग-फाइल) –

+1

हम्म क्षमा करें, बस एहसास हुआ कि आप पहले से ही उस प्रश्न में विस्तृत दृष्टिकोण में से एक ले रहे हैं जो कि Q. –

उत्तर

2

यह पता चला है कि मैं बाहरी फ़ाइल के पथ को गलत पथ के रूप में लिख रहा था।

प्रलेखन on this page से:

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

मैं इसे पर निम्न के लिए पथ बदल काम किया:

<appSettings file = "..\..\secrets.config"> 
</appSettings> 
की
+1

वही बात मेरे लिए काम करती है। यदि app.SECRETS.config app.config के समीप है। यानी '' –

+0

पार्टी के लिए थोड़ा देर हो चुकी है, लेकिन आप फ़ाइल को प्रतिलिपि बनाने के लिए विजुअल स्टूडियो को निर्देश देकर पथ को बदले बिना काम कर सकते हैं निर्माण पर आउटपुट फ़ोल्डर। यह समाधान एक्सप्लोरर> गुणों में फ़ाइल पर राइट क्लिक करके किया जाता है, फिर आउटपुट निर्देशिका में कॉपी करें = अगर नई या कॉपी हमेशा कॉपी करें। –

संबंधित मुद्दे