visual studio - विजुअल स्टूडियो में पुनर्निर्माण और स्वच्छ+बिल्ड के बीच अंतर




visual-studio visual-studio-2008 (4)

1 प्रति परियोजना, परियोजना पुनर्निर्माण = (स्वच्छ परियोजना + बिल्ड परियोजना)।

2 प्रति समाधान, पुन: निर्माण एसएलएन = foreach परियोजना (स्वच्छ परियोजना + बिल्ड परियोजना)! = स्वच्छ एसएलएन + बिल्ड एसएलएन

मान लें कि आपके पास एक एसएलएन है, जिसमें proj1, proj2, और proj3 शामिल हैं।

पुनर्नवीनीकरण Sln = (स्वच्छ proj1 -> Proj1 बनाएँ) + (स्वच्छ proj2 -> Proj2 बनाएँ) + (स्वच्छ proj3 -> Proj3 बनाएँ)

स्वच्छ एसएलएन + बिल्ड एसएलएन = (स्वच्छ proj1 + स्वच्छ proj2 + स्वच्छ proj3) -> (proj1 बनाएँ + proj2 बनाएँ + proj3 बनाएँ)

-> धारावाहिक का मतलब है, + समवर्ती मतलब है

इसलिए जब आप परियोजना निर्भरताओं को सही तरीके से कॉन्फ़िगर नहीं करते हैं तो आप बहुत सारे कोड परिवर्तन सबमिट करते हैं, फिर से पुनर्निर्माण एसएलएन आप में से कुछ को एक स्थिर lib के लिंक से लिंक कर देगा क्योंकि सभी बिल्डों को सभी सफाई के बाद गारंटी नहीं दी जाती है। ( इस मामले में, क्लीन एसएलएन + बिल्ड एसएलएन एक लिंक त्रुटि देगा, और आपको अजीब व्यवहार के साथ एक ऐप देने के बजाय तुरंत आपको बताएगा)

केवल एक पुनर्निर्माण और विजुअल स्टूडियो 2008 में क्लीन + बिल्ड करने के बीच क्या अंतर है? साफ है + साफ + पुनर्निर्माण कर अलग बनाओ ?


अर्ल सही है कि 99% समय पुनर्निर्माण = स्वच्छ + बिल्ड।

लेकिन वे वही होने की गारंटी नहीं देते हैं। 3 क्रियाएं (पुनर्निर्माण, निर्माण, साफ) विभिन्न एमएसबिल्ड लक्ष्यों का प्रतिनिधित्व करती हैं। जिनमें से प्रत्येक कस्टम प्रोजेक्ट करने के लिए किसी भी प्रोजेक्ट फ़ाइल द्वारा ओवरराइड किया जा सकता है। इसलिए स्वच्छ + निर्माण शुरू करने से पहले कई कार्यों को करने के लिए पुनर्निर्माण को ओवरराइड करना संभव है (या उन्हें पूरी तरह से निकालने के लिए)।

बहुत अधिक कोने का मामला लेकिन टिप्पणी चर्चाओं के कारण इसे इंगित करता है।


इस ब्लॉग पोस्ट से लेखक इस प्रश्न पर टिप्पणी के रूप में जुड़े हुए हैं:

दरअसल नहीं!!! वे बराबर नहीं हैं।

अनुक्रम परियोजनाओं में अंतर साफ और निर्माण मिलता है। मान लें कि हमारे पास समाधान में दो परियोजनाएं हैं। स्वच्छ और फिर निर्माण दोनों परियोजनाओं के लिए साफ प्रदर्शन करेगा और फिर पुनर्निर्माण परियोजना ए के दौरान व्यक्तिगत रूप से निर्माण होगा और साफ हो जाएगा और उसके बाद उस परियोजना के बाद बिल्ड बी साफ हो जाएगा और फिर निर्माण होगा।


http://www.cs.tufts.edu/r/graphics/resources/vs_getting_started/vs_getting_started.htm , (बस इसे googled):

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

निर्माण या पुनर्निर्माण समाधान आपके समाधान में सभी परियोजनाओं का निर्माण या पुनर्निर्माण करता है, जबकि बिल्ड या पुनर्निर्माण स्टार्टअप प्रोजेक्ट बनाता है या उपरोक्त स्क्रीन शॉट में "हैलो" बनाता है। स्टार्टअप प्रोजेक्ट सेट करने के लिए, समाधान एक्सप्लोरर टैब में वांछित प्रोजेक्ट नाम पर राइट क्लिक करें और स्टार्टअप प्रोजेक्ट के रूप में सेट करें का चयन करें। प्रोजेक्ट का नाम अब बोल्ड में दिखाई देता है। चूंकि होमवर्क समाधानों में आमतौर पर केवल एक प्रोजेक्ट होता है, बिल्ड या पुनर्निर्माण समाधान प्रभावी रूप से बिल्ड या पुनर्निर्माण के समान होता है।

संकलन अभी वर्तमान में संपादित की जा रही स्रोत फ़ाइल को संकलित करता है। त्रुटियों की तुरंत जांच करने के लिए उपयोगी जब आपकी शेष स्रोत फ़ाइलें अपूर्ण स्थिति में हैं जो पूरे प्रोजेक्ट के सफल निर्माण को रोकती हैं। Ctrl-F7 संकलन के लिए शॉर्टकट कुंजी है।






rebuild