2009-06-28 15 views
5

मेरा प्रश्न this one और this one जैसा है, लेकिन इसमें थोड़ा अंतर है। इसलिए मैं इसे यहां पूछ रहा हूं।मोनो रनटाइम की सीमा

मेरे पास चमकदार है .NET 3.5 विंडोज सेवा (एनएचबेर्नेट, LINQ, लैम्ब्डा अभिव्यक्ति के साथ), विंडोज़ पर चल रहा है। अब मैं अपने ऐप को लिनक्स में बंद करने की योजना बना रहा हूं, इसलिए मैं मोनो के बारे में सोच रहा हूं।

क्या मैं बस विंडोज़ में अपना .net ऐप संकलित कर सकता हूं, और इसे .NET (मोनो संस्करण) के साथ लिनक्स मशीन पर कॉपी कर सकता हूं, और इसे आसानी से चलाने की उम्मीद कर सकता हूं? यदि नहीं, तो क्या मुझे कुछ करना चाहिए?

कोई भी जवाब या पॉइंटर्स का स्वागत है।

+0

मुझे लगता है कि यह वास्तव में आपके द्वारा जुड़े प्रश्न का डुप्लिकेट है, और अन्य http://stackoverflow.com/questions/549166/how-mature-is-mono और http: // stackoverflow जैसे अन्य लोग हैं।कॉम/प्रश्न/20470 9/आईएस-मोनो-मजबूत-पर्याप्त-गंभीर-उद्यम-विकास –

+0

मुझे ऐसा नहीं लगता है, यह प्रश्न आपके द्वारा उल्लेखित दो से अधिक विशिष्ट है। – Graviton

+0

यह एक डुप्ली नहीं है, वह पूछ रहा है कि कैसे अपने ऐप को बंद करना है, न कि अगर मोनो स्थिर/उत्पादन में इसका उपयोग करने के लिए परिपक्व हो। – Treb

उत्तर

7

MoMA tool

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

व्यक्तिगत दृष्टिकोण से नहीं होगा का कहना है हो सकता है: सभी सी # 3.0 सुविधा अच्छी तरह से समर्थन कर रहे हैं, मैं के साथ कोई समस्या नहीं थी LINQ (ऑब्जेक्ट्स के लिए, LINQ से SQL या XML के बारे में नहीं जानते) और एनएचबेरनेट भी अच्छी तरह से काम करता है (हालांकि मैंने इसका उपयोग नहीं किया)

8

क्या यह अभी काम करेगा? परीक्षण करने के लिए आप वास्तव में हैं। मैंने हाल ही में प्रोटोकॉल बफर को मोनो पर काम करने में प्रयास किया है। अब तक मुझे बहुत कम निष्पादन-समय की परेशानी हुई है; संकलक मेरे लिए एक मुद्दा था। हालांकि, मुझे अस्थायी रूप से यूनिट परीक्षणों में से एक को अक्षम करना पड़ा (मॉकिंग का उपयोग करके) क्योंकि यह मोनो 2.4 वीएम स्वयं बैंग हो जाता है। मैंने अभी तक जांच क्यों नहीं की है, लेकिन इस तरह की चीज भविष्यवाणी करना असंभव है।

कुछ भी जो सीएलआर के "गहरे" पहलुओं का उपयोग करता है - जैसे अभिव्यक्ति पेड़ और गतिशील तरीकों - सरल पुस्तकालयों, आईएमओ की तुलना में अधिक समस्याएं होने की संभावना है।

अब, आप कहते हैं कि यह एक विंडोज सेवा है - जाहिर है कि लिनक्स में विंडोज़ जैसी ही सेवाएं नहीं हैं, इसलिए आपको यह काम करने की आवश्यकता होगी कि आप इसे कैसे चलाने के लिए चाहते हैं। अगर मैं आप थे तो मैं इसे एक सरल कंसोल ऐप के रूप में चलाकर शुरू कर दूंगा ... एक बार यह सब काम कर रहा है, तो आप इसे अन्य "सेवा" नियंत्रकों आदि के साथ एकीकृत करने के बारे में सोच सकते हैं - अगर आपको लगता है कि आपको इसकी आवश्यकता है।

यह निश्चित रूप से इस्तेमाल किया मामला है कि xbuild लिनक्स पर निर्माण करने के लिए Windows पर निर्माण से एक सहज पलायन का रास्ता नहीं प्रदान की थी ... फिर भी, यह ध्यान का एक बहुत हाल ही में किया था है, इसलिए इसे फिर से कोशिश कर रहा लायक है। ..

+0

वाह, तो आप वास्तव में मोनो में परीक्षण चलाया? क्या आपने मोनो में अपना कोड और परीक्षण संकलित किया था? – Graviton

+1

हां, अब सब कुछ मोनो में बनाता है - लेकिन मुझे कंपाइलर के साथ कुछ मुद्दों के आसपास काम करना पड़ा, और "बिल्ड सिस्टम" केवल 'शेल' के उदार उपयोग के साथ एक शेल स्क्रिप्ट है। -नाम '* .cs'। आपको * निश्चित रूप से * मोनो के तहत अपने यूनिट परीक्षणों को चलाया जाना चाहिए ... लेकिन यह बिल्कुल पहला कदम है। आपको पूरे ऐप को मैन्युअल रूप से भी जांचना होगा। –

+0

दिलचस्प बात यह है कि मैंने प्रोटोबफ-नेट करते समय मोनो कंपाइलर की एक अच्छी संख्या सबमिट की है ... अभी भी कुछ काम करने के लिए कुछ कंक हैं। –