2010-12-16 11 views
8

मेरे पास कंसोल एप्लिकेशन है जिसमें App.Confile फ़ाइल है। अब पर्यावरण विशिष्ट हैं जो पैरामीटर बनाए रखा जाता है।क्या हमारे पास .NET कंसोल एप्लिकेशन में एकाधिक App.Config फ़ाइलें हो सकती हैं?

अब मैं कई app.config फ़ाइलों (जैसे app.dev.config, app.test.config और app.prod.config) के लिए जिस तरह से हम कैसे कई Web.config फ़ाइलें हो सकता है सोच रहा हूँ ।

वेब एप्लिकेशन के मामले में, हम इसे संभाल सकते हैं और कॉन्फ़िगरेशन प्रबंधक संबंधित वेब.कॉन्फिग फ़ाइल लेगा।

कंसोल एप्लिकेशन के मामले में, मुझे यकीन नहीं है। यदि हां, तो हमारे पास एकाधिक app.config फ़ाइलें कैसे हो सकती हैं?

आपकी सहायता की सराहना करें।

धन्यवाद

उत्तर

8

अद्यतन

विजुअल स्टूडियो 2010 और , के साथ आप यह सब आईडीई में एकीकृत किया गया। यदि आप अपनी कॉन्फ़िगरेशन फ़ाइल पर राइट क्लिक करते हैं, तो वीएस आपको अपनी प्रत्येक बिल्ड कॉन्फ़िगरेशन के लिए ट्रांसफ़ॉर्म कॉन्फ़िगरेशन उत्पन्न करने का विकल्प देता है। यदि आप अपने प्रत्येक वातावरण के लिए बिल्ड कॉन्फ़िगरेशन बनाना चाहते हैं, तो MSBuild स्वचालित रूप से आपके लिए सही Web.config/app.config उत्पन्न करेगा।

संक्षिप्त उत्तर, हाँ। आपके पास अलग-अलग फ़ाइलें और आपकी बिल्ड स्क्रिप्ट में हो सकती है, लेकिन आपको "App.config" में सही नाम का नाम बदलना होगा और आप सेट कर सकते हैं (संकलित करने से पहले)।

लंबे उत्तर, आपको एंटरप्राइज़ लाइब्रेरी मर्ज कॉन्फ़िगरेशन टूल का उपयोग करना चाहिए। यह आपको आधार के रूप में अपने मौजूदा App.config का उपयोग करने और प्रति माह डेल्टा परिभाषित करने की अनुमति देता है। टूल पर्यावरण और विनिर्देश कॉन्फ़िगरेशन फ़ाइलों को उत्पन्न करने के लिए आधार और डेल्टा को विलय करेगा। सही कॉन्फ़िगरेशन फ़ाइल को लागू करने के लिए आपको अभी भी बिल्ड स्क्रिप्ट में कुछ तर्क की आवश्यकता होगी।

जब आप अपनी मशीन पर एंटरप्राइज़ लाइब्रेरी इंस्टॉल करते हैं, तो आप विजुअल स्टूडियो में कॉन्फ़िगरेशन फ़ाइल पर राइट क्लिक कर सकते हैं और कॉन्फ़िगरेशन टूल के माध्यम से इसे संपादित कर सकते हैं। आप प्रति माह पर्यावरण को ओवरराइड करने के लिए अपने वातावरण और ऐप सेटिंग्स और कनेक्शन स्ट्रिंग को परिभाषित करने के लिए इसका उपयोग कर सकते हैं।

http://entlib.codeplex.com/

+1

यह काम किया। मैंने बिल्ड कमांड में $ $ (ProjectDir) ऐप। $ (ConfigurationName) .config $ (ProjectDir) app.config डाल दिया है। – Rita

8

बाबक के जवाब से पर का पालन करने के लिए आप कर सकते थे जो एक ConfigurationSection का प्रतिनिधित्व करता है किसी भी तत्व पर configSource विशेषता, जैसे का उपयोग करके अन्य config फ़ाइलों में बाहर अपने config के भी अलग अलग हिस्सों:

<appSettings configSource="appSettings.config" /> 

और में appSettings.config:

<?xml version="1.0" encoding="UTF-8"?> 
<appSettings> 
    <add key="Blah" value="Nim nim nim" /> 
</appSettings> 
+0

क्या यह कनेक्शन स्ट्रिंग प्रविष्टियों को संभाल देगा? –

+0

आप कर सकते हैं: '' –

+1

रनटाइम/असेंबली के लिए काम नहीं कर रहा है बाध्यकारी ... दुख की बात है। –

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