2011-12-26 13 views
7

मैं नई वेबसाइट प्रकाशित संवाद के साथ विजुअल स्टूडियो 2010 का उपयोग कर रहा हूं। मेरे पास एक वेब एप्लीकेशन वेबसाइट है। प्रकाशित होने पर, सिद्धांत में इसे सभी कोड को एक असेंबली में संकलित करना चाहिए। हालांकि, Debug और Release दोनों में, निर्देशिका को प्रकाशित करने के बाद हमेशा पृष्ठ और उपयोगकर्ता नियंत्रण का स्रोत कोड होता है (यहां तक ​​कि अप्रतिबंधित web.config फ़ाइलों के साथ भी Web.Debug.config और Web.Release.Config)। यह बहुत भ्रमित है।क्यों विजुअल स्टूडियो 2010 स्रोत कोड के साथ वेबसाइट प्रकाशित करते हैं?

लेकिन package/publish web प्रोजेक्ट कॉन्फ़िगरेशन और Generate Deploy package संदर्भ मेनू आइटम के साथ, पैकेज \ PackageTmp निर्देशिका साफ़ है।

  • विज़ुअल स्टूडियो वेबसाइट को प्रकाशित करने के लिए इस पैकेज का उपयोग क्यों नहीं करता है?
  • प्रीकंपाइल विकल्प कहां है?
  • वेब.कॉन्फिग एक्सएमएल ट्रांसफॉर्म काम नहीं करता है, विजुअल स्टूडियो मुझे इस सुविधा को भ्रमित करने के लिए क्यों लाता है?
+0

यह एक वेब अनुप्रयोग या एक वेब साइट है? क्या आप केवल '.as? X' फ़ाइलों या' .cs' फ़ाइलों को भी देखते हैं? – SLaks

+0

@SLaks मुझे यकीन है कि यह वेब एप्लिकेशन नहीं है। मैं पहले ही हल कर चुका हूं, क्योंकि मैंने 'पैकेज/प्रकाशित वेब' कॉन्फ़िगरेशन में 'सभी प्रोजेक्ट फाइलें शामिल करें' सेट किया है –

+0

हाय @ रोक मुझे भी एक ही समस्या है लेकिन बात यह है मैं वेबसाइट प्रकाशित कर रहा हूं न कि वीएस2013 व्यावसायिक संस्करण में वेबप्लिकेशन। जब मैं इसे प्रकाशित करता हूं तो यह स्रोत कोड भी प्रकाशित करता है और द्विआधारी/डीएलएल नहीं करता है। तो, क्या आप कृपया मुझे .aspx/.dll फ़ाइलों में फ़ाइलों को प्रकाशित करने के लिए कोई समाधान सुझाएंगे? –

उत्तर

11

सही उत्तर पैकेज/प्रकाशित वेब सेटिंग्स (वेब ​​अनुप्रयोग प्रोजेक्ट गुणों में) में देखना और "तैनात करने के लिए आइटम" को देखना है।

enter image description here

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

ध्यान दें कि इस सेटिंग को अपने वर्तमान बिल्ड प्रकार (डीबग/रिलीज/आदि) के लिए भिन्न होता है, तो उसके अनुसार योजना ...

Ciao!

+0

hi @ enorl76 कृपया मुझे उपर्युक्त टिप्पणी के लिए कोई समाधान सुझाएं? मदद की सराहना की! मैंने आपके समाधान की कोशिश की लेकिन दुर्भाग्य से वीएस 2013 पेशेवर संस्करण में इस विकल्प का पता लगाने में असमर्थ। :( –

+0

@ श्शेखरेट मेरे पास वीएस 2013 है, और मैंने अभी देखा और यह वही है। शायद आप एक अलग प्रोजेक्ट प्रकार का उपयोग करने की कोशिश कर रहे हैं? आपको वेब एप्लिकेशन प्रोजेक्ट प्रकार का उपयोग करना होगा। – enorl76

2

आपको Web Application Projects versus Web Site Projects के बीच अंतर को समझने की आवश्यकता है।

वेब अनुप्रयोग प्रोजेक्ट को तैनात करने के लिए, आप एक आईआईएस सर्वर पर प्रोजेक्ट संकलित करके बनाई गई असेंबली की प्रतिलिपि बनाएँ। इसके विपरीत, पर एक वेब साइट प्रोजेक्ट को तैनात करते हैं, तो आप आमतौर पर प्रोजेक्ट स्रोत फ़ाइलों को आईआईएस सर्वर पर कॉपी करते हैं।

वेब अनुप्रयोग परियोजनाओं के लिए, आप आमतौर पर दृश्य स्टूडियो में या एक कंप्यूटर कि उत्पादन आईआईएस सर्वर नहीं है पर ASP.NET बैच संकलक का उपयोग करके परियोजना का निर्माण। प्रोजेक्ट में सभी कोड-बैक क्लास फाइलें और स्टैंडअलोन क्लास फाइलें एक असेंबली में संकलित की जाती हैं, जिसे तब वेब एप्लिकेशन प्रोजेक्ट के बिन फ़ोल्डर में रखा जाता है। (.aspx और .ascx फ़ाइलें गतिशील रूप से एक तरीके क्या वेब साइट परियोजनाओं के लिए किया जाता है के समान में संकलित कर रहे हैं।)

वेब साइट परियोजनाओं के लिए, आप मैन्युअल रूप से परियोजना संकलित करने के लिए नहीं है। वेब साइट परियोजनाओं को आमतौर पर एएसपी.नेट (विकास कंप्यूटर और उत्पादन आईआईएस सर्वर दोनों) पर गतिशील रूप से संकलित किया जाता है। आप बैच संकलन मोड के बीच चयन कर सकते हैं, जो आम तौर पर प्रति फ़ोल्डर एक असेंबली उत्पन्न करता है, और निश्चित संकलन मोड, जो आम तौर पर प्रत्येक पृष्ठ या उपयोगकर्ता नियंत्रण के लिए एक असेंबली उत्पन्न करता है।

0

दृश्य स्टूडियो 2013/2015 में, "प्रकाशन के दौरान precompile" एक विकल्प का चयन enter image description here

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