visual studio with विजुअल स्टूडियो में बिल्ड सॉल्यूशन, रीबिल्ड सॉल्यूशन और क्लीन सॉल्यूशन के बीच अंतर?




माइक्रोसॉफ्ट विजुअल स्टूडियो (8)

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

समाधान पुनर्निर्माण - पुनर्निर्माण समाधान आपके पूरे आवेदन का निर्माण करेगा, सभी परियोजनाएं आपके समाधान में सफाई के साथ उपलब्ध हैं। इसे बनाने से पहले यह बिन और ओबीजे फ़ोल्डर से सभी बाइनरी फ़ाइलों को साफ़ करता है।

स्वच्छ समाधान - स्वच्छ समाधान बस बिन और ओबीजे फ़ोल्डर से सभी बाइनरी फ़ाइलों को साफ़ करता है।

विजुअल स्टूडियो में बिल्ड सॉल्यूशन, रीबिल्ड सॉल्यूशन और क्लीन सॉल्यूशन के बीच क्या अंतर है?

इनमें से प्रत्येक का उपयोग करने के लिए उचित समय कब है?


  • बिल्ड समाधान एक वृद्धिशील निर्माण करेगा: अगर ऐसा नहीं लगता कि इसे किसी परियोजना को पुनर्निर्माण करने की आवश्यकता है, तो यह नहीं होगा। यह परियोजना के आंशिक रूप से निर्मित बिट्स का भी उपयोग कर सकता है अगर वे नहीं बदला है (मुझे नहीं पता कि यह कितना दूर है)
  • पुनर्निर्माण समाधान साफ हो जाएगा और फिर पहले से किए गए किसी भी चीज़ को अनदेखा कर, स्क्रैच से समाधान का निर्माण करेगा।
  • स्वच्छ समाधान पिछले निर्माण से निर्माण कलाकृतियों को हटा देगा। यदि निर्माण लक्ष्य निर्देशिकाओं (बिन और ओबीजे) में कोई अन्य फाइलें हैं, तो उन्हें हटाया नहीं जा सकता है, लेकिन वास्तविक निर्माण कलाकृतियों हैं। मैंने इस भिन्नता के लिए व्यवहार देखा है - कभी-कभी काफी अच्छी तरह से हटाते हैं और कभी-कभी नहीं - लेकिन मैं वीएस को इस पल के लिए संदेह का लाभ दूंगा :)

(लिंक devenv.exe कमांड लाइन स्विच के लिए हैं, लेकिन वे मेनू आइटम के समान ही करते हैं।)


निर्माण समाधान केवल उन परियोजनाओं को बनाता है जो समाधान में बदल गए हैं, और असेंबली को प्रभावित नहीं करते हैं जो नहीं बदले हैं,

Rebuild पहले समाधान से सभी विधानसभाओं को साफ करता है और फिर किए गए परिवर्तनों के बावजूद पूरा समाधान बनाता है।

साफ, बस समाधान साफ ​​करता है।


समाधान बनाएं - किसी भी असेंबली बनाता है जिसने फाइलें बदल दी हैं। अगर किसी असेंबली में कोई बदलाव नहीं होता है, तो इसे फिर से बनाया नहीं जाएगा। किसी भी मध्यवर्ती फ़ाइलों को भी हटा नहीं पाएगा।

पुनर्निर्माण समाधान साफ हो जाएगा और फिर पहले से किए गए किसी भी चीज़ को अनदेखा कर, स्क्रैच से समाधान का निर्माण करेगा

स्वच्छ समाधान बिन / obj निर्देशिका से सभी संकलित फ़ाइलों (यानी, EXE और DLL) को हटा देगा।


समाधान बनाएं

यह एक वृद्धिशील निर्माण करेगा। दूसरे शब्दों में यह केवल कोड फाइलें ही बनाएगा जो बदल गए हैं। अगर उन्होंने उन फ़ाइलों को नहीं बदला है तो उन्हें छुआ नहीं जाएगा।

समाधान पुनर्निर्माण

यह सभी वर्तमान संकलित फाइलों (यानी, exe और DLLs) को हटा देगा और स्क्रैच से सबकुछ तैयार करेगा, भले ही फ़ाइल में कोड परिवर्तन हो या नहीं।

स्वच्छ समाधान मेनू

यह मेनू बिन / obj निर्देशिका से सभी संकलित फ़ाइलों (यानी, EXE और DLL) को हटा देगा।

पुनर्निर्माण = स्वच्छ + बिल्ड


समाधान बनाएं: कोड फ़ाइलों को संकलित करता है (डीएलएल और EXE) जो बदले जाते हैं।

पुनर्निर्माण: सभी संकलित फ़ाइलों को हटा देता है और कोड को बदल दिया गया है या नहीं, भले ही उन्हें फिर से संकलित करता है।

स्वच्छ समाधान: सभी संकलित फ़ाइलों को हटा देता है (डीएलएल और EXE फ़ाइल)।

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

रीबिल्ड बनाम (क्लीन + बिल्ड) के बीच का अंतर, क्योंकि इसके आसपास कुछ भ्रम भी लगता है:

अंतर यह है कि प्रत्येक परियोजना के लिए निर्माण और साफ अनुक्रम होता है। मान लें कि आपके समाधान में दो परियोजनाएं हैं, "proj1" और "proj2"। यदि आप पुनर्निर्माण करते हैं तो यह "proj1" ले जाएगा, "proj1" के लिए संकलित फ़ाइलों को साफ़ (हटाएं) और इसे बनाएं। इसके बाद यह दूसरी परियोजना "proj2" ले जाएगा, "proj2" के लिए स्वच्छ संकलित फाइलें और "proj2" संकलित करें।

लेकिन यदि आप "साफ" और निर्माण करते हैं, तो यह पहले "proj1" और "proj2" के लिए सभी संकलित फ़ाइलों को हटा देगा और फिर यह "proj2" पहले "proj2" का निर्माण करेगा।


इस लिंक से लिया गया:

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


समाधान बनाएं - किसी भी असेंबली बनाता है जिसने फाइलें बदल दी हैं। अगर किसी असेंबली में कोई बदलाव नहीं होता है, तो इसे फिर से बनाया नहीं जाएगा। किसी भी मध्यवर्ती फ़ाइलों को भी हटा नहीं पाएगा।

सबसे अधिक इस्तेमाल किया जाता है।

समाधान पुनर्निर्माण - परिवर्तनों के बावजूद सभी विधानसभाओं को पुनर्निर्माण करता है लेकिन मध्यवर्ती फ़ाइलों को छोड़ देता है।

जब आप देखते हैं कि विजुअल स्टूडियो ने नवीनतम असेंबली में आपके बदलावों को शामिल नहीं किया है तो प्रयुक्त होता है। कभी-कभी विजुअल स्टूडियो गलती करता है।

स्वच्छ समाधान - सभी इंटरमीडिएट फ़ाइलों को हटाएं और परिवर्तनों के बावजूद सभी असेंबली का पुनर्निर्माण करें

जब सब कुछ विफल हो जाता है और आपको सब कुछ साफ करने और ताज़ा शुरू करने की आवश्यकता होती है।





visual-studio