2011-12-07 12 views
8

कहें कि मेरे पास 2 प्रोजेक्ट हैं, जहां प्रोजेक्ट ए संदर्भ परियोजना बी प्रोजेक्ट ए एक वेब एप्लिकेशन प्रोजेक्ट है और प्रोजेक्ट बी एक क्लास लाइब्रेरी है।किसी संदर्भित प्रोजेक्ट में app.config का क्या होता है

कक्षा पुस्तकालय में एक app.config फ़ाइल है जहां कुछ सेटिंग्स संग्रहीत की जाती हैं। जब मैं प्रोजेक्ट ए संकलित करता हूं, तो binB.dll बिन फ़ोल्डर में बनाया गया है।

वेब एप्लिकेशन तैनात होने पर app.config फ़ाइल की सामग्री का क्या होता है? क्या ProjectB.dll में संकलित सेटिंग्स हैं?

क्या प्रतिबिंबक या ILSpy जैसे उपकरण का उपयोग करके app.config की सामग्री को पुनर्प्राप्त करना संभव है?

उत्तर

7

आप लाइब्रेरी प्रोजेक्ट में कोई app.config जोड़ सकते हैं, लेकिन यह इस्तेमाल किया या उत्पादन में से किसी में शामिल नहीं है।

कॉन्फ़िगरेशन एप्लिकेशन में किया जाना है - लाइब्रेरी में नहीं। तो आपको कॉन्फ़िगरेशन को अपने वेब एप्लिकेशन के web.config में प्रश्न में रखना होगा, लाइब्रेरी के app.config में नहीं।

+0

दोनों से कॉन्फ़िगरेशन मैनेजर का उपयोग करके इसकी सामग्री तक पहुंच पाएंगे, मुझे एहसास है कि यह जिस तरह से किया जाना चाहिए। मैं एक विरासत परियोजना को देख रहा हूं जहां वेब संदर्भ क्लास लाइब्रेरी में हैं:/कोड को थोड़ा आगे देखने के बाद मैं देखता हूं कि वेब सेवाओं के यूआरएल प्रोग्रामेटिक रूप से सेट किए गए हैं इसलिए app.config सेटिंग्स वास्तव में उपयोग नहीं की जाती हैं । आपके कोड में जो समझाया गया है उसके कारण मूल कोडर ने शायद ऐसा किया था। धन्यवाद – woggles

2

रनटाइम पर, आपका प्रोजेक्ट बी आपके वेब एप्लिकेशन प्रोजेक्ट (होस्ट) की सेटिंग्स का उपयोग करेगा। तो आपको web.config फ़ाइल में अपनी सेटिंग्स को दोबारा करना होगा।

3

App.config कॉन्फ़िगरेशन है, एप्लिकेशन नहीं - इसलिए इसे डीएल में सहेजा नहीं जाता है और इसे परावर्तक या डिकंपिल्ड द्वारा प्रदर्शित नहीं किया जा सकता है।

आप प्रोजेक्ट ए (web.config में के रूप में यह है वेब एप्लिकेशन) के लिए सेटिंग्स के साथ परियोजना बी कॉन्फ़िगर करने के लिए की है।

automagicaly बाहरी मॉड्यूल को कॉन्फ़िगर करने के लिए कोई तंत्र नहीं है, जब तक कि वे डिफ़ॉल्ट गिरावट वाले मानों को कोड न करें।

1

आपकी कक्षा लाइब्रेरी का App.config बी अप्रासंगिक हो जाता है। यदि आप वहां से डेटा का उपयोग करना चाहते हैं तो आपको अपने सामान को अपने मूल एप्लिकेशन के ऐप.कॉन्फिग में कॉपी करना चाहिए (आपके मामले में web.config)। इसके बाद आप प्रोजेक्ट ए और बी

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

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