2008-08-04 16 views
26

मैं अपनी सामग्री बनाने के लिए एमएसबिल्ड का उपयोग कर रहा हूं। मैं बिल्ड सर्वर द्वारा क्रूज़ कंट्रोल.net का उपयोग करना चाहता हूं।क्या अभी भी समर्थित नहीं है और .NET 3.5/VS2008 के लिए उपयुक्त है?

अब, CCNET Nant एक बहुत संदर्भित करता है, लेकिन के रूप में अगर ccnet सामान nant का सबसे परियोजना विन्यास और MSBuild के माध्यम से कर सकता है क्या कर सकते हैं यह लग रहा है। साथ ही, एनएटीए थोड़ा असमर्थित प्रतीत होता है, बीटा रिलीज के साथ जो अब लगभग एक वर्ष पुराना है।

संक्षेप में: मैं वास्तव में एमएसबिल्ड (विशेष रूप से यह "आधिकारिक" कंपाइलर फ्रंट एंड) के साथ काफी खुश हूं और एनएएनटी के साथ थोड़ा असहज हूं, लेकिन मैं समय से न्याय नहीं करना चाहता हूं।

किन वजहों से MSBuild से अधिक Nant उपयोग करने के लिए हो सकता है? विशेष रूप से सीसीनेट के साथ, जो सुविधाओं के संदर्भ में नैन के साथ थोड़ी सी ओवरलैप लगती है (और स्वचालित निर्माण संबंधित सामग्री जोड़ना)

उत्तर

15

आप MSBuild के साथ काफी खुश हैं, तो मैं MSBuild के साथ छड़ी होगी। यह उन मामलों में से एक हो सकता है जहां आप पहले जो टूल सीखते हैं वह वह है जिसे आप पसंद करेंगे। मैंने एनएएनटी के साथ शुरुआत की और एमएसबिल्ड के लिए काफी उपयोग नहीं किया जा सकता है। मुझे यकीन है कि वे दोनों कुछ समय के लिए आसपास होंगे।

दो, शायद सबसे अच्छा this conversation between some NAnt fans and a Microsoftie से प्रकाश डाला के बीच कुछ मूलभूत अंतर हैं।

दिलचस्प बात यह है कि Jeremy Miller ने पिछले वर्ष सटीक विपरीत प्रश्न on his blog से पूछा।

5

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

मैं "अभी भी समर्थित" आपके प्रश्नों के भाग उत्तर नहीं दे सकता है, लेकिन अगर आप पहले से ही Nant के साथ सहज हैं तो यह शायद व्यवहार्य है मैं कहूंगा। यदि आप (या आपके समूह में कोई भी व्यक्ति) एमएसबिल्ड से परिचित है तो यह भी जाने का एक अच्छा तरीका है।

1

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

3

आप पहले से ही आप Nant के साथ उपयोग कस्टम कार्यों की एक गुच्छा मिल गया है, तो इसके साथ चिपके रहते हैं - आप MSBuild के साथ ज्यादा लाभ नहीं है। उस ने कहा, ऐसा कुछ भी प्रतीत नहीं होता है जो एनएएनटी ऐसा नहीं कर सकता है कि एमएसबिल्ड इसके मूल पर नहीं हो सकता है। दोनों बाहरी टूल्स को कॉल कर सकते हैं, दोनों नेट-आधारित कस्टम कार्यों को चला सकते हैं, और दोनों में समुदाय कार्यों का एक गुच्छा है।

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

MSBuildCommunityTasks शुरू करने के लिए एक अच्छा तृतीय-पक्ष कार्य आधार है, और मैंने कभी भी एनएएनटी में किए गए अधिकांश कस्टम सामान को शामिल किया है, जिसमें वीएसएस और सबवर्जन समर्थन शामिल है।

1

सीसी.नेट बस निर्माण सर्वर तकनीक है, बिल्ड स्क्रिप्ट तकनीक नहीं। हम एमएसबिल्ड बिल्ड स्क्रिप्ट को बिना किसी समस्या के सफलतापूर्वक कॉल करने के लिए काम पर CC.NET का उपयोग करते हैं।

NAnt एक पुरानी और अधिक परिपक्व बिल्डिंग भाषा है, लेकिन वे दोनों समान हैं कि वे कैसे काम करते हैं। एनएएनटी में बहुत कम चीजें हैं जो मैं एमएसबिल्ड में भी नहीं कर सकता, इसलिए यह वास्तव में नीचे आता है कि आप किसके साथ अधिक सहज हैं।जहां तक ​​एनएएनटी सक्रिय है, आखिरी रिलीज होने के बाद मत जाओ ... इसके बजाय आखिरी रात का निर्माण कब हुआ था। एनएएनटी रिलीज के बीच लंबे समय तक जाने लगता है, लेकिन रात के निर्माण आमतौर पर काफी स्थिर होते हैं।

0

जैसा कि बहुत से लोगों ने पहले ही संकेत दिया है, यहां जवाब "यह निर्भर करता है"। दोहराए जाने वाले ऑपरेशन जैसी कुछ चीजें हैं जो NANT में बहुत सरल और क्लीनर हैं। इसके बारे में चर्चा के लिए the MSDN forums देखें।

0

मुझे लगता है कि आप भी एक संकर दृष्टिकोण का उपयोग कर सकते हैं, खासकर बड़ी परियोजनाओं में। जब नए घटक विकसित होते हैं तो हमारी कई नैन स्क्रिप्ट्स को एमएसबिल्ड में परिवर्तित किया जा रहा है। दोनों एक ही प्रमुख विशेषताओं का समर्थन करते हैं और यदि आप एक ऐसा कार्य पाते हैं जो मूल रूप से एक में समर्थित है लेकिन दूसरे को नहीं, तो एक-दूसरे को कॉल कर सकते हैं।

एमएसबिल्ड के साथ शुरू होने वाले नए .NET विकास के लिए आपको बहुत समय बचा सकता है क्योंकि यह सीधे समाधान फ़ाइलों को चला सकता है। अन्य कार्यों को करने के लिए मुख्य संकलन से विस्तार (स्रोत नियंत्रण, तैनाती, आदि) काफी अच्छी तरह से काम करता है।

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