2010-09-03 14 views
6

के निर्माण के दौरान स्थानीय आईआईएस पर प्रकाशित कैसे करें मैं वीएस 2010 में एएसपी.NET एमवीसी वेब ऐप पर काम कर रहा हूं। मैं अपने स्थानीय आईआईएस 7 में अपने वेब के तहत वेब ऐप चलाने के लिए चाहता हूं। मेरे पास मेरी मेजबान फ़ाइल सेट अप है ताकि * .dev मेरे स्थानीय आईपी पर वापस आ जाए ताकि जब मैं आईआईएस वेब बनाउं तो मैं इसे सिर्फ एक अद्वितीय होस्ट नाम दे सकता हूं जैसे myapp.dev और यह चलता है।विजुअल स्टूडियो 2010 -

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

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

क्या इस प्रकार के सेट अप पर कोई ट्यूटोरियल है जो मुझे किसी को संदर्भित कर सकता है?

+1

क्यों प्रकाशित करें? आईआईएस को अपने स्रोत कोड पर क्यों इंगित न करें? –

+0

जॉन, यह वेब एप्लिकेशन प्रोजेक्ट्स के लिए कैसे काम करता है? मैंने वेब साइट प्रोजेक्ट्स के लिए यह किया है लेकिन सोचा कि डब्ल्यूएपी एक अलग जानवर है। मेरा ऐप एक एमवीसी 2 प्रोजेक्ट है। – JBeckton

उत्तर

2

हालांकि मैं 2008 का उपयोग कर रहा हूं, मुझे NAnt का निर्माण और प्रकाशन करने के लिए उपयोग करना बहुत आसान लगता है। यह आपको अधिक लचीलापन की अनुमति देता है और आप इसे अपने स्थानीय और उत्पादन दोनों साइट पर प्रकाशित करने के लिए उपयोग कर सकते हैं।

3

यह मेरे विचार से बहुत आसान हो गया। वीएस 2010 के साथ "वन क्लिक पब्लिश" नामक एक नई सुविधा है और इसके लिए एक टूलबार भी है। मैंने अपने स्थानीय आईआईएस वेब के लिए पहले से ही एक प्रकाशित प्रोफ़ाइल बनाई है, इसलिए मुझे बस इतना करना है कि प्रकाशित क्लिक करें! समाधान में सभी परियोजनाओं को तब बनाया और प्रकाशित किया जाता है। जब तक परियोजनाएं आश्रित के रूप में सेट की जाती हैं तब तक वे वेब प्रोजेक्ट के साथ निर्मित और प्रकाशित होते हैं।

अब मुझे एक क्लिक प्रकाशित करने के लिए इसे एक गर्म कुंजी की आवश्यकता है और मैं पूरी तरह से तैयार हूं।

मैं कल्पना करता हूं कि अगर मैंने csproj फ़ाइल में अतिरिक्त निर्माण कार्यों को परिभाषित किया था जो सभी को भी निष्पादित किया जाएगा।

5

क्या आप विकास के दौरान एएसपी.NET विकास वेब सर्वर के बजाय आईआईएस का उपयोग करने की कोशिश कर रहे हैं? यदि यह है कि आप अपने वेब प्रोजेक्ट की सेटिंग्स पर जा सकते हैं और फिर वेब टैब पर विकास वेब सर्वर को आईआईएस में बदलने और यूआरएल निर्दिष्ट कर सकते हैं। इस तरह आपको कुछ भी प्रकाशित करने की आवश्यकता नहीं है, वर्चुअल निर्देशिका आपके प्रोजेक्ट के फ़ोल्डर में इंगित करती है। तो जब आप अपना वेब एप्लिकेशन संकलित और चलाते हैं, तो यह कोई भी बदलाव उठाएगा। यदि यह वही नहीं है जो आप चाहते हैं, तो आप स्थानीय आईआईएस में अपने वेब एप्लिकेशन को पैकेज और तैनात/अपडेट करने के लिए पोस्ट-बिल्ड चरण में msdeploy कमांड लाइन टूल का उपयोग कर सकते हैं। इस बार जब भी आप निर्माण करते हैं, msdeploy परिवर्तनों के साथ आईआईएस चलाएगा और अपडेट करेगा।

+0

मैंने यह माना है, लेकिन मैं अपने ऐप को आभासी निर्देशिका http: // localhost/myapp/के तहत चलाने की इच्छा नहीं करता, एएसपी.Net के लिए नया होने के नाते, मैंने देव से उत्पादन में जाने पर विभिन्न संपत्तियों के पथों के साथ संघर्ष किया है। वेब रूट में मेरी देव साइट को चलाने के रूप में मैं उत्पादन में करता हूं बस मुझे इससे निपटने में मदद करता है। – JBeckton

0

ASP.NET करने के लिए नए होने के नाते, मुझे लगता है कि आप प्रकाशन लिंक के लिए Url.Content को देखने का सुझाव देंगे (यदि आप MVC का उपयोग कर रहे हैं) या System.Web.VirtualPathUtility.ToAbsolute("~/...") (यदि नहीं) और प्रकाशन के साइड इफेक्ट के साथ काम कर से बचने के लिए टिल्ड का विवेकपूर्ण उपयोग कर विभिन्न जड़ों के साथ एक साइट। इसे सीखने से ऊपर दिए गए कुछ सुझावों का उपयोग करने का अवसर खुल जाएगा (IIS को आपके प्रोजेक्ट निर्देशिका में एक के लिए इंगित करना)।

दूसरा विकल्प आपकी प्रोजेक्ट फ़ाइल खोलता है और AfterBuild बिल्ड लक्ष्य के साथ काम करता है। इसे प्रकाशित करना और एक प्रकाशित कार्य के साथ एक एस्पनेटकंपेलर कार्य जोड़ना भी वही काम करेगा और यदि आप एक-क्लिक प्रकाशित कर रहे हैं तो आप एक शर्त निर्दिष्ट करके अपने निर्माण कार्यों को $ (कॉन्फ़िगरेशन) के आधार पर भी अलग कर सकते हैं।

मैं यह भी सुझाव दूंगा कि आप वेब प्रोजेक्ट के लिए बिल्ड को कस्टमाइज़ करने के तरीके को पढ़ते हैं। पहले से ही लिखे गए कई लेख हैं जो आपको अपने रास्ते पर अच्छी तरह से प्राप्त करेंगे।

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