2011-01-14 18 views
6

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

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

कुल मिलाकर, मुझे एक ऐसा समाधान देखना अच्छा लगेगा जो भारी व्यवस्थापक बोझ के बिना दोनों विंडोज़ और * निक्स पर एक सभ्य वर्कफ़्लो प्रदान करता है। मुझे पूरा यकीन है कि यह परियोजना प्रबंधन का पवित्र अंगूर है, इसलिए जो कुछ भी मुझे उस रास्ते पर रखता है वह बहुत ही बढ़िया है।

+0

मैं सीएमके पर एक नज़र डालेगा, यह कम से कम क्रॉस-प्लेटफार्म है, और सी #/मोनो परियोजनाओं में सहायता के लिए पहले से ही स्क्रिप्ट हो सकती है। – sinelaw

उत्तर

4

एक परियोजना में मैं काम करता हूं, हम विजुअल स्टूडियो 2010, मोनो डेवेल/एक्सबिल्ड, गिट और मोनोडोक का उपयोग करते हैं। विजुअल स्टूडियो 2010 द्वारा बनाई गई परियोजना फाइलों को आसानी से मोनो डेवेल और एक्सबिल्ड द्वारा पढ़ा जा सकता है। इसके अलावा, गिट वितरित विकास के लिए एक उत्कृष्ट वीसीएस है (मुझे विशेष रूप से इसकी शाखाकरण पसंद है)। कमांड लाइन पैरामीटर के कुछ tweaking के साथ, मोनोडोक, कोड में एक्सएमएल टिप्पणियों से दस्तावेज उत्पन्न कर सकते हैं।

+0

यूप मोनोडोक –

+0

के बारे में भूल गया अच्छा कॉल, हम उस दृष्टिकोण के साथ प्रयोग कर रहे हैं और ऐसा लगता है कि यह काम कर रहा है। हम सभी प्लेटफार्मों पर हमारे वीएम के रूप में मोनो का उपयोग करने का चयन कर सकते हैं। – dcolish

1

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

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

बिल्ड के लिए, मैं टीमसिटी का सुझाव दूंगा, क्योंकि यह तीन रिमोट एजेंटों का समर्थन करता है जो आपको विंडोज/लिनक्स/मैक पर मुफ्त संस्करण के साथ बनाने की इजाजत देता है।

बिल्ड के लिए मैं NANT का उपयोग करता हूं, हालांकि मोनो के तहत xbuild समाधान फ़ाइलों के साथ काम करता है ताकि दो बिल्ड स्क्रिप्ट बनाए रखने के बजाय यह आसान हो। मुझे सीआई के लिए एनएएनटी पसंद है क्योंकि मुझे बिल्ड, टेस्ट, कवर, पैकेज, तैनाती इत्यादि में अलग करना आसान लगता है।

मुझे पता चला है कि मोनो डेवेल, गिट, टीमसिटी और एनएएनटी का संयोजन आपको कुछ अच्छा देता है क्रॉस-प्लेटफार्म विकास सेटअप।

1

मेरा सुझाव है कि आप मुख्य रूप से एक आईडीई का उपयोग करने का प्रयास करें। अधिकांश मोनो आईडीई मुझे लगता है कि विजुअल स्टूडियो प्रारूप का समर्थन करते हैं। कम से कम SharpDeveblop करता है।

http://mono-tools.com केवल विंडोज़ में (.NET) में .NET और Mono के लिए विकसित करने का सही तरीका प्रतीत होता है। मुझे लगता है कि यह सबसे अच्छा विकल्प है यदि मैंने कभी भी मोनो गंभीर रूप से इनहा वाणिज्यिक वातावरण के लिए विकास करना है, लेकिन 1005 निश्चित नहीं है।

http://sharpdevelop.com भी वादा करता है, लेकिन फिर भी खराब आदमी विकल्प की तरह गिरता है।

http://monodevelop.com/ लिनक्स में मोनो के विकास के लिए जाने का तरीका है।

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

+0

एक आईडीई का उपयोग क्यों करें? मोनो डेवलपमेंट वीएस समाधान और परियोजनाओं को खोल सकता है। –

0

CruiseControl.Net एक बहुत अच्छा निर्माण/निरंतर एकीकरण प्रणाली है। यह निर्माण प्रक्रिया में applications के भार को एकीकृत कर सकता है; हम कोड विश्लेषण के लिए एनएएनटी का निर्माण, एनयूनीट यूनिट परीक्षण और FXCop के लिए उपयोग करते हैं।

-1

Cake (सी # मेक) एक सी # आधारित डोमेन विशिष्ट भाषा के साथ एक ओपन सोर्स बिल्ड ऑटोमेशन सिस्टम है जो कोड संकलित करने, फाइलों/फ़ोल्डर्स की प्रतिलिपि बनाने, यूनिट परीक्षण चलाने, फ़ाइलों को संपीड़ित करने और NuGet पैकेज बनाने जैसी चीजें कर सकता है। इसमें कई अन्य अंतर्निहित कार्यक्षमताएं हैं और आसानी से कस्टम कोड के साथ बढ़ाया जा सकता है। यह विंडोज, लिनक्स और ओएस एक्स के लिए उपलब्ध है और कई निरंतर एकीकरण सिस्टम जैसे ऐपवीयर, टीमसिटी, टीएफएस, वीएसटीएस या जेनकींस के साथ उपयोग किया जा सकता है।