.NET का उपयोग करना
ServBay, macOS पर .NET डेवलपर्स के लिए एक सुविधाजनक और प्रभावी डेवलपमेंट एनवायरनमेंट प्रदान करता है। ServBay के पैकेज मैनेजमेंट सिस्टम के माध्यम से, आप आसानी से कई .NET SDK वर्शन (आधुनिक .NET, यानी .NET Core और उसके बाद के वर्शन तथा क्लासिक Mono फ्रेमवर्क) इन्स्टॉल, प्रबंधित और चला सकते हैं, जिससे विभिन्न प्रोजेक्ट्स की ज़रूरतें पूरी की जा सकें।
सामान्य अवलोकन
.NET प्लेटफ़ॉर्म का इतिहास और macOS सपोर्ट
.NET Microsoft द्वारा विकसित एक बहुपरकारी डेवलपमेंट प्लेटफ़ॉर्म है। macOS पर .NET सपोर्ट को समझने के लिए इसका इतिहास और वर्शन क्रमशः महत्वपूर्ण है:
.NET Framework (मूल वर्शन): 2002 में जारी किया गया .NET Framework, Microsoft का प्रमुख डेवलपमेंट प्लेटफ़ॉर्म था, लेकिन यह मुख्य रूप से Windows के लिए डिज़ाइन किया गया था। इसमें Common Language Runtime (CLR) और एक विशाल फ्रेमवर्क क्लास लाइब्रेरी (FCL) शामिल थी। सीधे macOS पर .NET Framework एप्लिकेशन चलाना आमतौर पर संभव नहीं था।
Mono (क्रॉस-प्लेटफ़ॉर्म पायनियर): Linux और macOS जैसे गैर-Windows प्लेटफ़ॉर्म्स पर .NET ऐप लाने के लिए, समुदाय (शुरुआत Ximian से, बाद में Novell, Xamarin/Microsoft द्वारा समर्थित) ने Mono विकसित किया। Mono, .NET Framework का ओपन-सोर्स, क्रॉस-प्लेटफ़ॉर्म इम्प्लीमेंटेशन है। इसके ज़रिए macOS और Linux पर वे एप्लिकेशन चलाना संभव हुआ जो मूल रूप से .NET Framework के लिए लिखे गए थे (विशेषकर C# ऐप्स)। पुराने .NET Framework ऐप्स/लाइब्रेरीज़ जो macOS पर चलने चाहिए, उनके लिए आज भी Mono उपयोगी है।
.NET Core /.NET 5+ (आधुनिक क्रॉस-प्लेटफ़ॉर्म स्टैंडर्ड): क्रॉस-प्लेटफ़ॉर्म की आवश्यकता को समझते हुए, Microsoft ने .NET Core को नए सिरे से डिजाइन किया। यह एक आधुनिक, उच्च-प्रदर्शन, ओपन-सोर्स और पूरी तरह क्रॉस-प्लेटफ़ॉर्म .NET इम्प्लीमेंटेशन है, जो Windows, macOS और Linux सभी को सपोर्ट करता है। .NET Core 3.1 के बाद, इसे .NET के नाम से रीब्रांड किया गया (वर्शन 5 से शुरू, 4 छोड़कर जिससे .NET Framework 4.x के साथ भ्रम न हो)। आज, .NET SDK से आमतौर पर यही आधुनिक, क्रॉस-प्लेटफ़ॉर्म वर्शन (जैसे .NET 5, 6, 7, 8, 9, 10) माने जाते हैं। नए एप्लिकेशन की डेवलपमेंट के लिए macOS समेत सभी प्लेटफ़ॉर्म्स पर Microsoft इन्हीं की सलाह देता है।
ServBay में .NET सपोर्ट
ServBay, .NET की इस विकास यात्रा और डेवलपर्स की विविध आवश्यकताओं को बेहतर तरीके से समझते हुए, निम्नलिखित सुविधाएँ प्रदान करता है:
- आधुनिक .NET SDK पैकेज: .NET (Core) के विभिन्न वर्शन (.NET SDK 2.0 से 10.0) शामिल हैं, जिससे आप नवीनतम C#, F# और ASP.NET Core के साथ क्रॉस-प्लेटफ़ॉर्म डेवलपमेंट कर सकते हैं।
- Mono पैकेज: Mono रनटाइम (जैसे Mono 6) उपलब्ध है, जिससे आप ऐसे पुराने प्रोजेक्ट्स या खास लाइब्रेरीज़ के लिए macOS पर .NET Framework आधारित डेवेलपमेंट और रनिंग कर सकते हैं, पुराने ASP.NET (Web Forms, System.Web MVC) के सीमित सपोर्ट समेत।
- समानांतर इंस्टॉलेशन: आप कई .NET SDK वर्शन और Mono को एक साथ इंस्टॉल कर सकते हैं।
- प्रोजेक्ट-स्तरीय वर्शन कंट्रोल: हरेक प्रोजेक्ट के लिए आवश्यक .NET SDK वर्शन
.servbay.config
फाइल के माध्यम से निर्दिष्ट कर सकते हैं। - सरल प्रबंधन: ServBay के ग्राफिकल इंटरफेस में विभिन्न SDK और Mono वर्शन को सहजता से देख, इन्स्टॉल और अनइंस्टॉल किया जा सकता है।
.NET पैकेज ऐक्सेस करना
- ServBay एप्लिकेशन खोलें।
- बाएँ टिकाऊबार में,
पैकेज (Packages)
पर क्लिक करें। पैकेज
पेज में, नीचे स्क्रॉल करें या बाईं ओर की उप-श्रेणी सूची मेंLanguages
->.NET
चुनें।- दाहिनी ओर सभी उपलब्ध .NET SDK और Mono पैकेज की सूची दिखेगी।
.NET SDK इंस्टॉल करना
पैकेज सूची में प्रत्येक .NET SDK वर्शन की स्थिति स्पष्ट रूप से दर्शाई जाती है:
- पैकेज नाम: जैसे
.NET SDK 8.0
याMono 6
। - वर्शन: उस पैकेज का सटीक वर्शन नंबर।
- स्थिति:
Installed
(इंस्टॉल हो चुका) याNot Installed
(इंस्टॉल नहीं) दिखाता है। - कंट्रोल: संचालन के लिए बटन।
यदि आप कोई ऐसा .NET SDK वर्शन इंस्टॉल करना चाहते हैं जो अभी तक इंस्टॉल नहीं हुआ है (जैसे .NET SDK 10.0
):
- सूची में अपना लक्ष्य वर्शन ढूँढें।
- सुनिश्चित करें कि स्थिति
Not Installed
है। - सबसे दाहिने ओर डाउनलोड/इंस्टॉल (Download/Install) आइकौन (आमतौर पर नीचे की ओर तीर) पर क्लिक करें।
- ServBay चुने हुए SDK वर्शन को डाउनलोड और इंस्टॉल करना शुरू कर देगा। इसमें नेटवर्क स्पीड और SDK साइज के अनुसार थोड़ा समय लग सकता है।
- इंस्टॉलेशन पूरा होने पर, उस वर्शन की स्थिति
Installed
दिखेगी और नियंत्रण आइकन अनइंस्टॉल (Uninstall) (डस्टबिन) में बदल जाएगा।
इंस्टॉल किए गए SDK का प्रबंधन
- इंस्टॉल किए गए वर्शन देखें: सूची में
Installed
स्थिति आपके सिस्टम में इंस्टॉल किए गए सभी .NET SDK और Mono वर्शन को स्पष्ट रूप से दर्शाती है। - SDK अनइंस्टॉल करें: यदि किसी SDK वर्शन की आवश्यकता नहीं रही, तो उसके साथ के अनइंस्टॉल (Uninstall) (डस्टबिन) आइकन पर क्लिक कर पुष्टि कीजिए—SDK सिस्टम से हट जाएगा।
इंस्टॉल किए गए .NET SDK का उपयोग
जब ServBay में .NET SDK इंस्टॉल होता है, तो संबंधित dotnet
कमांड लाइन टूल को आमतौर पर सिस्टम के PATH एनवायरनमेंट वेरिएबल में जोड़ दिया जाता है (जब ServBay एनवायरनमेंट सक्रिय हो)। इस वजह से आप macOS के टर्मिनल (Terminal) में डायरेक्ट dotnet
कमांड चला सकते हैं।
आम उपयोग की जाने वाली कमांड के उदाहरण:
इंस्टॉल किए गए SDK वर्शन देखें: टर्मिनल खोलिए और चलाइए:
bashdotnet --list-sdks
1यह ServBay के जरिए इंस्टॉल किए गए सभी SDK वर्शन और उनके इंस्टॉल पाथ दिखाएगा।
एक्टिव SDK वर्शन देखें (आमतौर पर सबसे नया या ग्लोबल सेट वर्शन):
bashdotnet --version
1नया कंसोल एप्लिकेशन बनाएँ (डिफॉल्ट SDK के साथ):
bash# MyConsoleApp नाम से प्रोजेक्ट डायरेक्टरी बनाएँ mkdir MyConsoleApp cd MyConsoleApp # डिफॉल्ट SDK से नया कंसोल प्रोजेक्ट बनाएँ dotnet new console
1
2
3
4
5
6एप्लिकेशन चलाएँ:
bashdotnet run
1विशिष्ट SDK वर्शन उपयोग करें (यदि ज़रूरी हो): यदि आपके प्रोजेक्ट को कोई खास SDK वर्शन चाहिए, तो आप
global.json
फाइल के जरिए स्पेसिफाई कर सकते हैं। प्रोजेक्ट की जड़ डायरेक्टरी मेंglobal.json
बनाएँ, इस तरह:json{ "sdk": { "version": "8.0.408" // उस SDK वर्शन को यहाँ लिखें जो आपने इंस्टॉल किया है और प्रोजेक्ट को चाहिए } }
1
2
3
4
5जब आप उस प्रोजेक्ट डायरेक्टरी में
dotnet
कमांड चलाएँगे, तो वह प्राथमिकता सेglobal.json
में दिए गए SDK वर्शन का इस्तेमाल करेगा।
Mono सपोर्ट
मानक .NET SDK के अलावा, ServBay में Mono भी इंस्टॉल करने का विकल्प है। Mono, .NET Framework का ओपन-सोर्स और क्रॉस-प्लेटफ़ॉर्म इम्प्लीमेंटेशन है। यदि आपको .NET Framework के खास फ़ीचर्स पर आधारित एप्स रन या डिवेलप करनी हैं, तो आप ServBay के जरिए Mono इंस्टॉल और उपयोग कर सकते हैं। Mono का इंस्टॉल/अनइंस्टॉल तरीका .NET SDK जैसा ही है।
Mono मुख्यतः उन प्रोग्राम्स (जैसे .exe
फाइल्स) और टूल्स के लिए है, जिन्हें .NET Framework के लिए कंपाइल किया गया है, साथ ही चलाने के लिए पुरानी ASP.NET एप्स का सपोर्ट भी शामिल है।
Mono वर्शन देखें:
bashmono --version
1.NET Framework संकलित एक्सिक्यूटेबल चलाएँ: मान लीजिए आपके पास
LegacyApp.exe
नामक .NET Framework एप है:bashmono LegacyApp.exe
1पुरानी ASP.NET एप्लिकेशन चलाएँ (सीमित सपोर्ट): Mono के साथ एक सिंपल वेब सर्वर
xsp
भी आता है, जिससे आप डेवेलपमेंट एनवायरनमेंट में ASP.NET Web Forms या System.Web MVC पर ऐप चला सकते हैं। इसके अलावा, आपNginx
+FastCGI
अथवाApache
+mod_mono
भी प्रयोग कर सकते हैं।महत्वपूर्ण जानकारी:
- इस गत विधि से ASP.NET Framework की सीमित अनुकूलता मिलती है—हर एप्लिकेशन सही नहीं चलेगा, खासकर जो विंडोज विशेषताओं पर निर्भर करते हैं।
- प्रदर्शन आमतौर पर Windows/IIS के मुकाबले कम होता है।
- नए प्रोजेक्ट्स में इस्तेमाल की सिफारिश नहीं की जाती। आधुनिक वेब डेवेलपमेंट के लिए ASP.NET Core का इस्तेमाल करें।
- ServBay ने व्यापक दिशानिर्देश दिए हैं: macOS पर ASP.NET Framework 4.x वेबसाइट कैसे चलाएँ।
यदि आपको (उदाहरण के लिए परीक्षण या रखरखाव हेतु) ऐसा चलाना है, तो आपको कुछ इस तरह का कमांड चलाना पड़ सकता है (ऐप और सेटिंग्स के अनुसार बदल सकता है):
bash# उदाहरण: किसी विशेष डायरेक्टरी में xsp सर्वर शुरू करें # cd /Applications/ServBay/www/your_legacy_aspnet_app # xsp4 --port 8080 # (xsp4 .NET 4.x के लिए)
1
2
3
एकीकृत वेब सर्वर (ASP.NET Core)
ServBay से इंस्टॉल किए गए .NET SDK के साथ, आप ASP.NET Core वेब एप्लिकेशन विकसित कर सकते हैं। इन्हें डिप्लॉय करते समय, आप ServBay के इनबिल्ट वेब सर्वर (जैसे Nginx, Caddy, या Apache) का लाभ उठा सकते हैं:
dotnet publish
कमांड से अपने ASP.NET Core एप को प्रकाशित करें।- ServBay में एक नया वेबसाइट (Website) जोड़ें।
- उस वेबसाइट को कॉन्फ़िगर करें ताकि वह रिवर्स प्रॉक्सी के तौर पर कार्यक्षेत्र में आपकी ASP.NET Core एप्लिकेशन द्वारा लिसन कर रही Kestrel सर्वर पोर्ट (जैसे
http://localhost:5000
) पर ट्रैफिक फ़ॉरवर्ड कर सके। कौनसा रिवर्स प्रॉक्सी सेटअप करना है, यह आपके चुने वेब सर्वर (Nginx, Caddy या Apache) पर निर्भर करता है।
कृपया वेबसाइट जोड़ने और रिवर्स प्रॉक्सी सेट करने से संबंधित ServBay डॉक्स पढ़ें।
सारांश
ServBay ने macOS पर .NET डेवलपमेंट एनवायरनमेंट की स्थापना और प्रबंधन को अत्यंत सरल बना दिया है। उसके सहज इंटरफेस के ज़रिए डेवलपर्स कई .NET SDK वर्शन और Mono को सहजता से इंस्टॉल, स्विच और हटाकर, C#, F#, और ASP.NET Core एप्लिकेशन के विकास व टेस्टिंग पर ज़्यादा ध्यान केंद्रित कर सकते हैं।