2010-05-11 10 views
12

जब मैं उत्पादन सर्वर (VS2008 के माध्यम से) में अपनी Asp.Net MVC वेबसाइट प्रकाशित करता हूं, तो web.config & castle.xml फ़ाइलों को ओवरराइट किया जाता है। इन फ़ाइलों की सामग्री मेरे स्थानीय देव पर्यावरण और उत्पादन सर्वर के बीच स्पष्ट रूप से अलग है।कॉन्फ़िगरेशन फ़ाइलों को ओवरराइट करने से मैं 'प्रकाशित वेब' को कैसे रोकूं?

मैं इन फ़ाइलों को प्रकाशित होने से कैसे रोकूं?

उत्तर

20

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

यदि आप कभी भी भविष्य में इसे अपडेट करना चाहते हैं तो आपको इसे मैन्युअल रूप से करना होगा या "कार्य बनाएँ" को "सामग्री" में बदलना होगा। अगली बार जब आप बिल्ड (या प्रकाशित) करेंगे तो यह इसे ओवरराइट करेगा।

+2

यह ध्यान देने योग्य है कि यह डिबगिंग के लिए आउटपुट फ़ोल्डर्स में कॉपी की गई कॉन्फ़िगरेशन फ़ाइल को भी रोक देता है। –

+0

यह सही है। "बिल्ड एक्शन" कुछ भी नहीं करना है, इसलिए किसी भी प्रकार का निर्माण इसकी प्रतिलिपि नहीं करेगा। यदि आपने कभी नहीं बनाया है तो आपके पास .config फ़ाइल नहीं होगी। यदि आप अपनी परियोजना में फ़ाइल को अपडेट करते हैं तो यह बिल्ड को अपडेट नहीं करेगा। यह आपको अपने बालों को खींचने का कारण बन सकता है ... –

1

कभी भी विजुअल स्टूडियो से सीधे उत्पादन सर्वर पर प्रकाशित न करें!

क्यूए के लिए एक परीक्षण सर्वर पर प्रकाशित करने के लिए प्रकाशित करें, और उसके बाद क्यूए से उत्पादन में कॉपी करें (किसी मौजूदा वेबसाइट के लिए कोई आईआईएस परिवर्तन नहीं है, यह सिर्फ फाइलों की प्रतिलिपि बनाने की बात है)।

जहां मैं हूं, हम इन प्रकाशित फ़ाइलों को संशोधन नियंत्रण के तहत अलग-अलग रखते हैं, और इसलिए जब क्यूए निर्माण पर हस्ताक्षर करता है तो तैनाती प्रक्रिया केवल उत्पादन सर्वर पर स्रोत नियंत्रण से फ़ाइलों की जांच कर रही है।

+0

असल में, यह भी एक अच्छा मुद्दा है। मैं आमतौर पर क्यूए सर्वर पर web.config की प्रतिलिपि नहीं बनाता क्योंकि यह विकास के दौरान अलग-अलग कॉन्फ़िगरेशन का उपयोग करता है। –

+1

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

+4

यह उत्तर अच्छी सलाह हो सकती है, लेकिन यह वास्तविक प्रश्न का उत्तर देने का प्रयास नहीं करती है। –

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