क्या लिनक्स सिस्टम में किसी भी उपयोग के C # का ज्ञान है?


44

मुझे पता है कि C # और मुझे सिस्टम के बीच स्विच करना और लिनक्स का उपयोग करना पसंद है। क्या मैं उन अनुप्रयोगों के निर्माण के लिए C # का उपयोग कर सकता हूं जो मूल रूप से लिनक्स पर काम करेंगे? लिनक्स सिस्टम में C # के अपने ज्ञान का उपयोग करने के लिए मुझे क्या करना चाहिए?

ध्यान दें कि मैं Unity3D में विशिष्ट हूं, लेकिन मैं अभी भी C # का उपयोग करके लिनक्स एप्लिकेशन बनाना चाहता हूं।


1
KerbalSpaceProgram यूनिटी में लिखा गया है और विन / मैक / लिनक्स पर चलता है। प्लगइन्स / मोड्स से KSP को C # में लिखा जाता है और इसे Win, Mac या Linux पर विकसित किया जा सकता है। मैं $ REASONS के लिए लिनक्स के बजाय मुख्य रूप से मैक का उपयोग करता हूं, लेकिन मैं सी # में उस प्लेटफ़ॉर्म पर KSP मॉड विकास करता हूं न कि विंडोज़। मुझे संभावना है कि जल्द ही केएसपी के बाहर xUnit परीक्षणों के साथ कुछ स्टैंड-अलोन C # कोड लिखने जा रहा हूं और यह किसी भी अन्य विकास की तरह होगा, लेकिन मुझे इसे मोनो के तहत चलाना होगा। मेक्जेब का एक उदाहरण मेकफाइल है जो मैक + लिनक्स पर बनाता है: github.com/MuMech/MechJeb2/blob/master/Makefile (लिंक करने के लिए केएसपी गेम डीएलएस की आवश्यकता है)।
लम्मोट

3
C # एप्लिकेशन आमतौर पर कहीं भी मूल रूप से नहीं चलते हैं ।
मोनिका

@OrangeDog मुझे पता है, यहां तक ​​कि विंडोज पर भी आपको .Net ढांचे को स्थापित करने की आवश्यकता है। अगर मैंने कहा "मूल रूप से" मैं बिना किसी अनुकरण या संगतता परत का मतलब है। मेरा मूल रूप से मतलब है कि अगर लिनक्स को इस बात से कोई फर्क नहीं पड़ता कि आपको कितने प्रोग्राम या पैकेज इंस्टॉल करने हैं।
याकूब

2
उबंटू में इसकी क्या प्रासंगिकता है?
अंडरस्कोर_ड

2
@underscore_d मुझे नहीं पता कि आपने कहां सुना है, लेकिन यह सच नहीं है। देखें "विषय पर न केवल उबंटू-विशिष्ट" प्रश्न हैं? कई, पूछो Ubuntu पर कई सवाल GNU / Linux सिस्टम के विशाल बहुमत पर समान रूप से लागू होते हैं। हो सकता है कि किसी को इस प्रश्न-विषय पर विचार करने के लिए एक प्रशंसनीय कारण मिलेगा, लेकिन यदि ऐसा है, तो ऐसा नहीं होगा। (Btw, इसके पास उबंटू-विशिष्ट जानकारी के साथ उत्तर हैं। मेरी अपनी पोस्ट का दूसरा पैराग्राफ उबंटू पैकेज के बारे में है; यह कुछ पर ले जाता है, लेकिन सभी नहीं, अन्य डिस्ट्रोस।)
एलियाह कगन

जवाबों:


55

सबसे अधिक संभावना है कि आप http://www.mono-project.com/ पर ठोकर खाएंगे

जैसा कि मोनो के बारे में पेज कहता है:

.NET फ्रेमवर्क पर आधारित ओपन सोर्स डेवलपमेंट प्लेटफ़ॉर्म मोनो, डेवलपर्स को बेहतर डेवलपर उत्पादकता के साथ क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन बनाने की अनुमति देता है। मोनो का .NET कार्यान्वयन C # और सामान्य भाषा इन्फ्रास्ट्रक्चर के लिए ECMA मानकों पर आधारित है ।

समर्थित प्लेटफार्मों लिनक्स शामिल हैं।


2
मोनो ... ध्वनि परिचित ... ओह, हाँ, यह एकता पर आधारित है! मुझे नहीं पता था कि मैं इसे अलग से इस्तेमाल कर सकता हूं। मुझे लगा कि यह यूनिटी 3 डी का हिस्सा है।
याकूब

41
माइक्रोसॉफ्ट के कार्यान्वयन का नवीनतम संस्करण (.Net कोर) भी लिनक्स का समर्थन करता है।
ब्लूराजा - डैनी पफ्लुगुएफ्ट

6
मोनो लागू होता है .net मानक 2.0 (iirc) न केवल कोर।
केसी

13
यह कुछ साल पहले एक अच्छा जवाब होता। अब यह बहुत अप्रचलित है।
कोनराड रुडोल्फ

1
@KonradRudolph अप्रचलित है? लेकिन क्या मूल रूप से .NET कोर को मूल रूप से किसी भी उत्पादन-स्तरीय कार्यक्रम के लिए NuGet निर्भरता की आवश्यकता नहीं है? या अन्य विकल्प हैं
कोई व्यक्ति

72

हां, आप उबंटू पर सॉफ्टवेयर विकसित कर सकते हैं, जो खुद उबंटू में चलेंगे, सी # में। दोनों मोनो और .NET कोर GNU / Linux सिस्टम को Ubuntu की तरह सपोर्ट करते हैं । (आप उन्हें दूसरे पर उपयोग कर सकते हैं distros भी बहुत आगे है, डेबियन, Raspbian, फेडोरा, CentOS, आर्क, Gentoo की तरह, और।) Unity3D खेल इंजन भी उबंटू का समर्थन करता है, जैसा कि आप शायद जानते हैं। Unity3D मोनो को एम्बेड करता है

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

अधिकांश पाठ संपादकों, जैसे कि गेडिट, विम और एमाक्स में C # के लिए वाक्य रचना हाइलाइटिंग है। मोनोडेवलप और विजुअल स्टूडियो कोड दो लोकप्रिय एकीकृत विकास वातावरण हैं जो उबंटू पर चलते हैं और सी # विकास का समर्थन करते हैं।


10
हो सकता है कि राइडर का भी उल्लेख हो, C # के लिए intellij idea-based IDE जिसमें Visual Studio के लिए ReSharper की सभी कार्यक्षमता हो।
विल्बर्ट

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

@ user2066657 सुझाव के लिए धन्यवाद; मैंने संपादित किया है। मेरा मतलब साफ था कि कैसे मोनो और .NET कोर उबंटू ("GNU / Linux सिस्टम जैसे Ubuntu") तक सीमित नहीं थे। लेकिन आगे विचार करने पर, मुझे एहसास हुआ कि यह उन पाठकों के लिए स्पष्ट नहीं हो सकता है जो पहले से नहीं जानते थे कि मैं उन्हें क्या बताने की कोशिश कर रहा हूं। इसलिए मैंने उस हिस्से का विस्तार किया है। मुझे पता है कि यह संपादन आपको संतुष्ट नहीं कर सकता है: मैंने इसे अधिक समावेशी बना दिया है, लेकिन अधिक तटस्थ नहीं है । इस साइट पर उबंटू पर जोर देने के लिए यह उचित है। मध्य भाग, डाउनस्ट्रीम उबंटू पैकेज के साथ सी # कार्यक्रमों का उदाहरण देते हुए, जानबूझकर उबंटू पर केंद्रित है।
एलियाह कगन

यदि ओपी गैर-उबंटू ओएस के बारे में पूछना चाहता था, तो उन्होंने शायद यूनिक्स और लिनक्स में पूछा होगा ।
श्री लिस्टर

@MrLister हाँ, सहमत हैं। लेकिन मुझे लगता है कि मेरे द्वारा जोड़े गए स्पष्टीकरण से कुछ हासिल हुआ है, और कुछ भी नहीं खोया है। मैं हालांकि एक पूरे के रूप में पोस्ट को वापस लेने की योजना नहीं करता हूं। उदाहरण के लिए, मैंने कुछ के बारे में कहा, जिसके बारे में मोनोसडेवल और विजुअल स्टूडियो कोड को विकृत करना आसान है, इसे स्थापित करना और उपयोग करना आसान है, लेकिन ऐसा करने के खिलाफ, इस आधार पर निर्णय लिया कि यह कुछ जटिल है और यह टोन और फ़ोकस (और लंबाई) को बदल देगा! ) पद का।
एलियाह कगन

20
  1. अब आप सी # ( .NET कोर फ्रेमवर्क) का उपयोग करके लिनक्स पर सर्वर एप्लिकेशन विकसित कर सकते हैं , जैसे आप जावा या पायथन का उपयोग कर सकते हैं। सर्वर अनुप्रयोगों से मेरा मतलब है वेब अनुप्रयोग और वेब सेवा (REST) ​​अनुप्रयोग। यह लिनक्स कंटेनरों ( डॉकर / K8s) और बादलों के साथ एक परिपूर्ण मेल बनाता है ।
  2. आप मोनो फ्रेमवर्क (एक .NET कार्यान्वयन) और GTK # (GtkSharp) टूलकिट (GTK का एक आवरण) का उपयोग करके C # के साथ डेस्कटॉप एप्लिकेशन विकसित कर सकते हैं। इस पर कई परियोजनाएँ विकसित हुई हैं। अतीत में लिनक्स के समुदाय के हिस्से में इस ढांचे का कुछ प्रतिरोध था। कुछ वितरण और उपयोगकर्ता मोनो एप्लिकेशन नहीं चाहते थे।
  3. आप लिनक्स पर C # का उपयोग करके एकता इंजन के साथ गेम विकसित कर सकते हैं। एकता संपादक अभी तक लिनक्स पर प्रायोगिक है।

तो हाँ। लिनक्स सिस्टम पर आज C # पर ज्ञान बहुत उपयोगी हो सकता है।


4
आप .NET कोर में डेस्कटॉप एप्लिकेशन भी कर सकते हैं।
पमनएस

2

अब आप XAML आधारित फ्रंट एंड क्रॉस प्लेटफॉर्म (लिनक्स, मैक, विंडोज, एंड्रॉइड, आईओएस, यूडब्ल्यूपी) ऐप का उपयोग कर सकते हैं। नेट कोर और एक नया प्रोजेक्ट जिसे अवलोनिया कहा जाता है। एवलोनिया बीटा में है, लेकिन अब बहुत अच्छी तरह से काम करता है। यह WPF के समान है, लेकिन स्टाइल को बढ़ाने जैसे कुछ CSS के साथ।

मेरा मानना ​​है कि लिनक्स अवलोनिया वर्तमान में Gtk को लक्षित करता है, लेकिन वे कुछ और करना चाहते हैं। इस वीडियो में आईटी का उल्लेख है, लेकिन मैं व्यक्तिगत रूप से समझ नहीं सका कि उसने क्या कहा: https://www.youtube.com/watch?v=WESJUJWBLJ0

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.