2010-05-06 13 views
23

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

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

मोनो विजुअल स्टूडियो प्रदान नहीं करता है?

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

क्या कुछ तीसरे पक्ष के उपकरण या ऐड-इन्स हैं जो बाद में मोनो के साथ कोई समस्या हो सकती हैं?

+8

मैं उलझन में हूं क्या आप मोनो या मोनो डेवेल के बारे में पूछ रहे हैं? वे दो अलग-अलग चीजें हैं। मोनो की तुलना विजुअल स्टूडियो से संतरे सेब है। मोनो डेवलप और विजुअलस्टूडियो आईडीई हैं। जबकि मोनो और .NET सीएलआई और संबंधित वर्ग पुस्तकालयों और कंपाइलरों के कार्यान्वयन हैं। –

+0

मैं जो पूछ रहा हूं वह आईडीई और भाषा दोनों के बीच क्या अंतर है? – Jason

+1

फिर दो अलग-अलग प्रश्न हैं। हम में से कई विजुअल स्टूडियो का उपयोग किए बिना विंडोज़ पर .NET का उपयोग करते हैं। – Ken

उत्तर

17

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

यह विजुअल स्टूडियो के समान .csproj और .sln प्रारूप का उपयोग करता है, हालांकि एक्सएमएल दस्तावेज़ प्रारूप अलग है।

तो बाद में लिनक्स पर यह चल रहा है हम monodevelop उपयोग नहीं करना चाहिए?
जैसा कि मैंने ऊपर बताया है, परियोजना प्रारूप इंटर-ऑपरेटिव हैं।

वहाँ किसी तीसरे पक्ष के उपकरणों के हैं या ऐड-इन्स कि मोनो बाद में कोई समस्या हो सकती है?
विजुअल स्टूडियो के विपरीत, मोनोडेफ़ेल्ड के लिए ऐड-इन्स की एक बड़ी संपत्ति नहीं है। जो लोग आप Monodevelop में उपयोग करते हैं, वे आपकी .csproj फ़ाइलों को बिल्कुल प्रभावित नहीं करेंगे, क्योंकि कुछ भी विजुअल स्टूडियो इसे पढ़ नहीं सकता है, यह आम तौर पर अनदेखा करता है।


जैसा कि लोगों ने कहा है मोनो डेवलपमेंट के लिए मोनो को भ्रमित नहीं करते हैं। मोनो डेवेल मोनो के लिए एक आईडीई है जो मूल रूप से (फोर्कड) तीव्र विकास से आया था।

मोनो क्रॉस प्लेटफार्म ढांचा है जो माइक्रोसॉफ्ट सीएलआर और फ्रेमवर्क पुस्तकालयों को 'एपस' करता है।

1

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

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

यदि आप मोनो का उपयोग कर रहे हैं, तो सभी डेवलपर्स में मोनो डेवेल का उपयोग करें। यह जीवन को बाद में बहुत आसान बना देगा, और यह सुनिश्चित करेगा कि जो भी आप लिखते हैं वह सभी के लिए काम करेगा।

दुर्भाग्यवश, मुझे मोनो बनाम .NET की सटीक सीमाओं/फायदों का उत्तर नहीं पता है, एक तरफ .NET से आगे, और मोनो कैच-अप खेल रहा है, न ही विभिन्न एडॉन्स के बारे में।

5

मैं इस क्षेत्र में ज्यादा अनुभव नहीं है, लेकिन ...

Mono Project Roadmap सुविधाओं है कि, नई आगामी, और MS.NET की तुलना में मोनो में मौजूद नहीं हैं के एक सिंहावलोकन है। यहां तक ​​कि मोनो के पास .NET के समान वर्ग हैं, ध्यान दें कि संगतता 100% नहीं है (हालांकि यह आमतौर पर उनका लक्ष्य है)। मुझे यकीन नहीं है कि मोनो में लापता चीजों की एक व्यापक सूची मौजूद है या नहीं।

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

बेशक, तीसरे पक्ष के .NET पुस्तकालयों का उपयोग करते समय, ध्यान दें कि उनमें से कई को मोनो के साथ परीक्षण नहीं किया गया है, और विशेष रूप से पी/इनवॉक का उपयोग करने वाले कुछ भी लिनक्स के लिए मोनो पर काम नहीं करेंगे। हालांकि, मोनो के साथ अधिकांश असंगतताएं मामूली हैं, और यदि आप ओपन-सोर्स लाइब्रेरीज़ के साथ चिपकते हैं तो आप हमेशा चलने वाली किसी भी असंगतताओं को ठीक कर सकते हैं।

5

आप Mono Tools for Visual Studio पर भी एक नज़र डाल सकते हैं। यह आपके विजुअल स्टूडियो डेवलपर्स को मोनो प्लेटफ़ॉर्म के साथ लक्षित और परीक्षण करने देता है।

+0

यह अच्छा है लेकिन क्या कोई ओपन सोर्स संस्करण है? मेरे पास एक क्लास लाइब्रेरी है जो दो ढांचे के बीच अनुपालन करती है और मैं एक प्रोजेक्ट रखना चाहता हूं और – jlafay

1

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

हमारे पास एक बहुत ही भारी भारी उत्पाद था जिसे हमने मोनो को बंदरगाह करने की कोशिश की ताकि हम लिनक्स का समर्थन कर सकें। रिमोटिंग मुद्दों को हल करने में असमर्थ होने के कारण, हमें अंततः लिनक्स को समर्थन देने के हमारे प्रयासों को त्यागना पड़ा।

कैविट: मेरे अनुभव पुराने हो सकते हैं। नीचे दी गई टिप्पणियां देखें

+0

दोनों के लिए लक्ष्य बनाने में सक्षम होना चाहता हूं ठीक है, यह वही है जो मैं ढूंढ रहा था, मोनो में वास्तविक अनुभव समस्याएं हैं – Jason

+0

कितने समय पहले मौका था? मैं curios हूँ अगर यह तय किया गया है, यह है कि अगर यह कुछ साल पहले था। – percent20

+0

@ प्रतिशत20: 1-2 साल पहले। यदि आप मेरे अनुभवों को पुराना मानते हैं, तो कृपया यहां टिप्पणी करें और मैं अपना जवाब अपडेट करूंगा। – Dinah

1

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

  • जांच binaries कॉपी दृश्य स्टूडियो
  • के लिए

    1. मोनो उपकरण के माध्यम से मोनो पर आवेदन का परीक्षण करने और monodevelop में निर्माण।

    व्यक्तिगत रूप से मैंने तीसरे तरीके से प्रयास करने पर बहुत छोटी परेशानी का अनुभव किया, लेकिन सौभाग्य से मैं कामकाज खोजने में सक्षम हूं।

    यह केवल तभी होता है जब आप मोनो को स्पर्श करते हैं, आप जानते हैं कि आपके आवेदन के किस हिस्से को ट्यून किया जाना चाहिए।

    http://www.mono-project.com/Start

  • 0

    आप लिनक्स में ASP.NET कार्यक्रम चलाने के लिए monodevelop जरूरत नहीं है, अपने विकास के सर्वर पर किसी साझा फ़ोल्डर बनाने (VMWare'd या असली एक), परीक्षण अक्सर ताकि आप आसानी से काम कर सकते हैं मोनो

    से जो गुम है, वह वही दृष्टिकोण है जिसका उपयोग मैं अपने .NET Remoting प्रोग्राम I Ubuntu सर्वर पर होस्ट कर रहा हूं। लेकिन मैं उलटा करता हूं, क्योंकि मैं एक एकल प्रोग्रामर हूं, मैं अपने विंडोज़ विकास मशीन पर साझा फ़ोल्डर बना देता हूं, फिर अपने उबंटू टेस्ट सर्वर (vmware'd) पर उस साझा फ़ोल्डर तक पहुंचता हूं। एएसपी.नेट सामग्री पर, यदि परिवर्तन आपके उबंटू परीक्षण सर्वर पर प्रतिबिंबित नहीं होते हैं, टर्मिनल में बस वेब को स्पर्श करें। अपने उबंटू परीक्षण सर्वर में फ़ाइल कॉन्फ़िगर करें। i.e. touch Web.Config, फिर पेज

    0

    मोनो का एएसपी.NET का पूर्ण कार्यात्मक कार्यान्वयन है। इसमें एएसपी.नेट वेब फॉर्म और वेब सेवाओं के लिए पूर्ण समर्थन शामिल है। इसका अनिवार्य रूप से मतलब है कि .NET Framework के साथ उपयोग किए गए किसी भी एएसपी.NET एप्लिकेशन को मोनो के साथ काम करना होगा। स्पष्ट रूप से आवश्यक परिवर्तन हो सकते हैं, जैसे डेटा एक्सेस परिवर्तन, किसी भी .NET Framework BCL प्रकारों पर निर्भरता को हटाने। Mono- Oracle users-.Net Programming C# : ubuntu 11.04