2012-03-15 17 views
6

.NET में, एक प्रोजेक्ट बनाने के बाद, मुझे कभी-कभी ऐप.कॉन्फिग क्यों होता है और दूसरी बार binaryname.dll.config फ़ाइल क्यों होती है?मुझे कभी-कभी ऐप.कॉन्फिग क्यों होता है और दूसरी बार binaryname.dll.config फ़ाइल क्यों होती है?

+2

अच्छा सवाल। इसके अलावा, एक binaryname.vshost.exe.config क्यों है? –

+1

@ वालमस। चूंकि दृश्य स्टूडियो होस्टिंग प्रक्रिया को प्रारंभ होने पर कॉन्फ़िगरेशन फ़ाइल की भी आवश्यकता होती है। विजुअल स्टूडियो होस्टिंग प्रक्रिया का उपयोग इस प्रकार किया जाता है: http://msdn.microsoft.com/en-us/library/ms242202.aspx –

+1

@Valamas: विजुअल स्टूडियो डिबगिंग अनुभव को बेहतर बनाने के लिए एक होस्टिंग प्रक्रिया बनाता है। इस प्रक्रिया का नाम 'binaryname.vshost.exe' है और यह सुनिश्चित करने के लिए कि यह प्रक्रिया सही तरीके से कॉन्फ़िगर की गई है, यह होस्टिंग प्रक्रिया के नाम से मेल खाने के लिए उचित रूप से नामित 'config' फ़ाइल की एक प्रति का उपयोग करती है। होस्टिंग प्रक्रिया के बारे में अधिक जानकारी: http://msdn.microsoft.com/en-us/library/ms242202.aspx –

उत्तर

8

आप इसे विकास के दौरान app.config फ़ाइल के रूप में देखते हैं (विजुअल स्टूडियो में)। जब तैनात (साथ ही साथ आपकी बिन निर्देशिका में), app.config binaryname.dll/exe.config फ़ाइल बन जाता है (स्वचालित रूप से विजुअल स्टूडियो द्वारा नामित)।

सटीक कारण के रूप में ... एक अच्छा कारण है कि इसे app.config के रूप में न रखें ... उदाहरण के लिए, यदि आप एक ही निर्देशिका में कई अनुप्रयोगों को तैनात करते हैं, तो आप केवल एक ऐप प्राप्त कर पाएंगे .config ... तो इसे binaryname.dll.config नाम देने का एक अच्छा कारण है।

तो वास्तविक सवाल यह है कि: इसे app.config क्यों नाम दिया गया है और binaryname.dll.config पहले स्थान पर क्यों नहीं है?

कारणों में से एक कारण यह है कि आप हमेशा परियोजना विकल्पों में अपने बाइनरी आउटपुट नाम को बदल सकते हैं (इसलिए कंपाइलर आपके प्रोजेक्ट नाम से अलग नाम के साथ .exe फ़ाइल उत्पन्न करता है), और कॉन्फ़िगरेशन फ़ाइल की प्रतिलिपि बनाई जाएगी उस बाइनरी आउटपुट नाम के लिए। समाधान में app.config नाम देने के बाद यह बेहतर है क्योंकि आप हमेशा उस फ़ाइल का नाम किसी गंतव्य फ़ाइल नाम पर कॉपी करते हैं, बिना किसी फ़ाइल को समाधान में नाम बदलने की आवश्यकता के बिना (जो अच्छी है, खासकर जब वह फ़ाइल स्रोत नियंत्रण में होती है)। कुछ और कारण भी हो सकता है।