2009-12-24 10 views
8

मेरी समझ यह है कि Rebuild = Clean + Build। एक अलग विकल्प के रूप में 'स्वच्छ समाधान' की पेशकश करने के सबसे लोकप्रिय कारण क्या हैं, क्योंकि पुनर्निर्माण एक ही चीज़ करता है? मैंने इसे कुछ सोचा, और एकमात्र कारण यह हो सकता था कि कुछ समाधान काफी बड़े हो सकते हैं और यह एक साफ और पुनर्निर्माण करने में समय लेने वाला हो सकता है, लेकिन यदि आप साफ करते हैं तो आपको (फिर) वैसे भी निर्माण, सही? धन्यवाद, और सभी को खुश छुट्टियां।विजुअल स्टूडियो के 'क्लीन सॉल्यूशन' विकल्प के लिए परिदृश्य

+2

अच्छा सवाल; उत्तर से ध्यान देने योग्य एक बात: बहुत सारे उत्तरों मानते हैं कि अस्थायी/आउटपुट फाइलें एक ही निर्देशिका में हैं, या एक उपनिर्देशिका, जहां परियोजना और स्रोत रहते हैं। हालांकि यह वास्तव में वीएस में डिफ़ॉल्ट व्यवहार है, मुझे लगता है कि आप स्रोत पेड़ के बाहर एक समर्पित निर्देशिका में निर्माण करने के लिए बेहतर हैं: पेड़ को गैर-सूअर फ़ाइलों से मुक्त रखता है, स्रोत नियंत्रण में कोई झूठी प्रविष्टियां नहीं, कोई डीबग/रिलीज डीआईआर नहीं जगह, और आप एक क्लिक के साथ सभी कंपाइलर जेनरेट की गई सामग्री को हटा सकते हैं। – stijn

+0

@stijn: प्रतिक्रिया और सुझाव के लिए धन्यवाद। बिल्ड आउटपुट लक्ष्य को परिभाषित करने के तरीके के संदर्भ में मैं "शॉट्स को कॉल करना" का मान देख सकता हूं। विनम्र, फिल। –

+0

http://stackoverflow.com/questions/1247457/difference-between-rebuild-and-clean-build-in-visual-studio-2008 – n611x007

उत्तर

9

स्वच्छ समाधान msbuild /t:clean और make clean की तरह है, तो यह एक ही स्थितियों में उपयोगी है।

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

  • आप

  • आप स्रोत नियंत्रण नहीं है किसी को अपने समाधान की एक प्रति भेजने के लिए चाहते हैं, लेकिन आप

  • जारी आपको अपनी ओर से अपनी परियोजना फ़ाइलों को संशोधित करने से पहले अपने समाधान जांच की चौकी के लिए चाहते हैं और यह सुनिश्चित करना चाहते हैं कि वे ठीक से काम करें

  • आपने एक नया समाधान बनाया, एक दिन के लिए इस पर काम किया, और अब इसे स्रोत नियंत्रण में रखने के लिए तैयार हैं। इससे पहले कि आप "सभी फाइलें जोड़ें", आप जेनरेट की गई फ़ाइलों को हटाना चाहते हैं।

  • आप डिस्क स्थान पर कम हैं, और अनावश्यक फ़ाइलों को त्यागना चाहते हैं। मान लें कि आपके पास एक छोटा एसएसडी और कई बड़े समाधान हैं, या यदि आप कॉन्फ़िगरेशन बदलना चाहते हैं।

+0

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

3

मैं केवल एक :(

आप अपने समाधान निर्देशिका ज़िप करना चाहते हैं के साथ आ सकता है, और सभी अस्थायी फ़ाइलें/संकलित युग्मक/आदि?

5

मैंने शामिल करने के लिए नहीं करना चाहते हैं भंडार (SVN, या TFS) करने के लिए यह करने से पहले एक नई परियोजना सफाई करने के लिए इसका इस्तेमाल किया कई बार।

2

स्वच्छ सभी वस्तु फ़ाइलों से छुटकारा हो जाता है, तो:

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

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

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