2012-08-10 8 views
6

मैं अपने configSource परिभाषित किया है किसी उप-निर्देशिका config बुलाया में config फाइल को देखने के लिए इस प्रकार है:Web.config क्यों बिन के बजाय प्रोजेक्ट फ़ोल्डर में configSource की तलाश कर रहा है?

<connectionStrings configSource="config\ConnectionStrings.config" /> 

मैं कॉन्फ़िग फ़ाइल एक लिंक की गई फ़ाइल के रूप में परिभाषित किया गया है, इसलिए जब निर्माण होता है यह में नकल हो जाता है मेरा बिन \ config फ़ोल्डर बस ठीक है।

लेकिन, मेरा वेब अनुप्रयोग परियोजनाओं विकास परियोजना config फ़ोल्डर के बजाय तैनाती बिन \ config फ़ोल्डर को देख रहे हैं। मैंने प्रोसेस मॉनिटर के साथ इसकी पुष्टि की। - मैं एक रिश्तेदार पथ कहीं की स्थापना को याद किया

  1. क्यों यह \ config बिन के बजाय वहाँ देख रहा है:

    तो मैं कई प्रश्न हैं?

  2. लिंक की गई फाइलें कॉपी नहीं की गई हैं बल्कि केवल बिन के लिए हैं। मेरी समझ यह है कि यह उचित व्यवहार है। क्या यह एक सही धारणा है या इसे दोनों स्थानों पर कॉपी किया जाना चाहिए? यदि हां, तो इसे सक्षम करने के लिए सेटिंग क्या है?
  3. क्या जुड़ी फाइलों के लिए उप-फ़ोल्डर का उपयोग करना अच्छा अभ्यास है या क्या मुझे उन्हें परियोजना रूट में छोड़ देना चाहिए?

बहुत धन्यवाद!

अद्यतन: मैं विधि यहाँ वर्णित उपयोग कर रहा हूँ: http://consultingblogs.emc.com/jamesdawson/archive/2008/06/03/using-linked-files-with-web-application-projects.aspx सुनिश्चित करना है कि config फाइल को कॉपी कर रहे हैं, और एक छोटे से प्रयोग मैं प्रश्न # 2 का जवाब दे दिया कर। नहीं, यह विजुअल स्टूडियो में डिफ़ॉल्ट व्यवहार नहीं है लेकिन यह कार्य-आसपास सुनिश्चित करता है कि दोनों जगहों पर फ़ाइलों की प्रतिलिपि बनाई गई है।

उत्तर

1

मुझे विश्वास है कि इससे आपको थोड़ा सा मदद मिल सकती है। How to use multiple Web.config files

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

हैप्पी कोडिंग!

+0

ठीक है, मुझे नहीं लगता कि मैं "अलग-अलग वेब प्रोजेक्ट" वाक्यांश का उपयोग करता हूं लेकिन मेरे पास एकाधिक लक्ष्य परियोजनाएं (3 वेब प्रोजेक्ट्स और एक कंसोल ऐप) हैं जो लिंक की गई फ़ाइल ConnectionStrings.config का उपयोग करती हैं। प्रश्न यह नहीं है कि कितनी कॉन्फ़िगरेशन फ़ाइलें हैं। मुझे यह पसंद नहीं है कि वेब प्रोजेक्ट कॉन्फ़िगरेशन फ़ाइलों के लिए तैनाती पथ बनाम मेरे विकास पथ में देख रहे हैं। कंसोल ऐप ऐसा नहीं कर रहा है। मेरी उम्मीद यह है कि web.config एक बार संकलित किए गए परिनियोजन पथ में लिंक की गई फ़ाइलों को देखेगा, जैसे कि मेरे कंसोल ऐप के app.config करता है। स्पष्टता की कमी के लिए खेद है! – Shane

+0

हाय फिर से, अगर मैं आपका प्रश्न सही ढंग से समझ गया, तो यहां एकमात्र समस्या यह है कि web.config अपेक्षित स्थान से लिंक की गई फ़ाइल नहीं पढ़ रहा है। मैं जो खोद सकता हूं, ऐसा लगता है कि वेब.कॉन्फिग को पढ़ने के लिए सटीक फ़ाइल स्थान को निर्दिष्ट करने की आवश्यकता है। यहां मेरा [लिंक] है (जानकारी का स्रोत: http://stackoverflow.com/questions/2411184/can-a-web-config-read-from-an-external-xml-file) –

+0

हाय फिर से, अगर मैं अपने प्रश्न को सही ढंग से समझ लिया, यहां एकमात्र समस्या यह है कि web.config अपेक्षित स्थान से लिंक की गई फ़ाइल नहीं पढ़ रहा है। जो मैं खोद सकता हूं, ऐसा लगता है कि वेब के क्रम में सटीक फ़ाइल स्थान निर्दिष्ट करने की आवश्यकता है।इसे पढ़ने के लिए विन्यास। यहां मेरा [सूचना का स्रोत] [1] [1]: http: //stackoverflow.com/questions/2411184/can-a-web-config-read-from-an-external-xml-file मेरी परियोजनाओं में I वास्तव में इस दृष्टिकोण का उपयोग करें, उम्मीद है कि यह आपकी समस्या का समाधान कर सकता है। –