استخدام .NET
يوفر ServBay بيئة تطوير مريحة وفعالة لمطوري .NET على نظام macOS. من خلال نظام إدارة الحزم في ServBay، يمكنك بسهولة تثبيت، إدارة وتشغيل عدة إصدارات من .NET SDK، بما في ذلك إصدار .NET الحديث (أي .NET Core والإصدارات الأحدث)، بالإضافة إلى إطار Mono الكلاسيكي، وذلك لتلبية احتياجات مشاريعك المختلفة.
نظرة عامة
تاريخ منصة .NET ودعمها لنظام macOS
.NET هي منصة تطوير متعددة الاستخدامات أنشأتها مايكروسوفت. فمعرفة تاريخها وتطور إصداراتها أمر أساسي لفهم الدعم على macOS:
.NET Framework (الإصدار الأصلي): تم إصدار .NET Framework لأول مرة في العام 2002 وهو كان منصة التطوير الرئيسية لدى مايكروسوفت، ولكنه مصمم في المقام الأول لأنظمة Windows. يتكون من CLR (بيئة التشغيل المشتركة) ومكتبة ضخمة (FCL). تشغيل تطبيقات .NET Framework مباشرة على macOS غالبًا غير ممكن.
Mono (الرائد في التعددية المنصات): بهدف توفير إمكانية تشغيل تطبيقات .NET على أنظمة غير Windows مثل Linux و macOS، طوّر المجتمع (بقيادة Ximian، ولاحقاً بدعم من Novell و Xamarin/مايكروسوفت) إطار Mono. Mono هو تنفيذ مفتوح المصدر ومتعدد المنصات لـ .NET Framework. يتيح للمطورين تشغيل وتطوير التطبيقات المكتوبة أساسًا لـ .NET Framework (خصوصًا C#) على macOS و Linux. يستمر Mono في تقديم قيمة في حالات تشغيل مشاريع أو مكتبات .NET Framework القديمة على macOS.
.NET Core / .NET 5+ (المعيار الحديث المتعدد المنصات): إذ أدركت مايكروسوفت أهمية دعم الأنظمة المتعددة، أعادت تصميم .NET من الصفر عبر .NET Core. وهو حل حديث، عالي الأداء، مفتوح المصدر ومتعدد المنصات بالكامل، يدعم Windows وmacOS وLinux. بداية من .NET Core 3.1، أعادت مايكروسوفت تسمية المنتج إلى .NET (بدءاً من الإصدار 5، مع تخطي 4 لتجنب اللبس مع .NET Framework 4.x). اليوم، حين نشير إلى .NET SDK نعني غالباً هذا الإصدار الحديث والمفتوح المصدر (مثل .NET 5, 6, 7, 8, 9, 10). مايكروسوفت توصي باستخدامه لتطوير جميع التطبيقات الجديدة، بما في ذلك على macOS.
دعم ServBay لمنصة .NET
يفهم ServBay هذا التاريخ ويلبي احتياجات المطورين المتنوعة من خلال:
- حزم .NET SDK الحديثة: تضم مختلف إصدارات .NET (Core) مثل .NET SDK 2.0 إلى 10.0، حتى تتمكن من استخدام أحدث C# و F# و ASP.NET Core لتطوير تطبيقات متعددة المنصات.
- حزم Mono: توفر حزمة Mono (مثل Mono 6) لدعم تطوير وتشغيل المشاريع أو المكتبات القديمة المبنية على .NET Framework على macOS، بما في ذلك الدعم المحدود لـ إصدارات 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
):
- ابحث عن الإصدار المطلوب في القائمة.
- تأكد أن حالته
غير مثبت
. - انقر أيقونة تحميل/تثبيت (Download/Install) في أقصى اليمين (عادةً سهم للأسفل).
- سيبدأ ServBay بتنزيل وتثبيت إصدار SDK المحدد. قد تستغرق العملية بعض الوقت حسب سرعة الإنترنت وحجم الحزمة.
- عند اكتمال التثبيت بنجاح ستتغير حالة الإصدار إلى
تم التثبيت
، وتتبدل الأيقونة إلى إلغاء التثبيت (Uninstall) (صورة سلة المهملات).
إدارة الـ SDK المثبتة
- عرض الإصدارات المثبتة: ستجد حالة
تم التثبيت
بجوار جميع إصدارات .NET SDK وMono الموجودة حالياً على جهازك. - إلغاء تثبيت SDK: لإزالة إصدار معين لم تعد بحاجة إليه، انقر ببساطة على أيقونة إلغاء التثبيت (Uninstall) المقابلة له (سلة المهملات) وأكد العملية.
استخدام .NET SDK المثبتة
بعد تثبيت .NET SDK عبر ServBay، عادةً ما يتم إضافة أداة الأوامر dotnet
إلى متغير PATH في النظام (عند تنشيط بيئة ServBay)، ما يسمح لك باستخدام أوامر dotnet
مباشرة من الطرفية (Terminal) في macOS.
أمثلة لأوامر شائعة:
معرفة إصدارات SDK المتوفرة: افتح الطرفية ونفذ:
bashdotnet --list-sdks
1سيعرض هذا جميع إصدارات .NET SDK المثبتة عبر ServBay ومساراتها.
معرفة إصدار 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
في جذر المشروع، بمحتوى مشابه:json{ "sdk": { "version": "8.0.408" // حدد هنا إصدار SDK المثبت والضروري للمشروع } }
1
2
3
4
5عند تشغيل أوامر
dotnet
في هذا الدليل سيستخدم النظام أولاً ذلك الإصدار المحدد فيglobal.json
.
دعم Mono
بالإضافة إلى .NET SDK القياسي، يوفر ServBay أيضاً إمكانية تثبيت Mono. Mono هو تنفيذ متعدد المنصات ومفتوح المصدر لـ .NET Framework. إذا أردت تشغيل أو تطوير تطبيقات تعتمد على ميزات خاصة بـ .NET Framework، يمكنك تثبيت واستخدام Mono عبر ServBay. عملية التثبيت والإزالة مماثلة للـ .NET SDK.
Mono يستخدم غالباً لتشغيل البرامج المترجمة لـ .NET Framework (ملفات .exe
) أو الأدوات التي تعتمد عليه، ويشمل أيضاً تشغيل تطبيقات 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 توثيقاً متكاملاً حول كيفية تشغيل مواقع ASP.NET Framework 4.x على macOS.
إذا كنت بحاجة لتشغيلها (مثلاً لاختبار أو صيانة)، قد تستخدم أوامر مشابهة حسب نوع التطبيق وإعداده:
bash# مثال: بدء خادم xsp في مجلد معين # cd /Applications/ServBay/www/your_legacy_aspnet_app # xsp4 --port 8080 # (xsp4 مخصص لـ .NET 4.x)
1
2
3
دمج خوادم الويب (ASP.NET Core)
باستخدام .NET SDK المثبت عبر ServBay، يمكنك تطوير تطبيقات ASP.NET Core. عند النشر، يمكنك دمج التطبيق مع خوادم الويب المدرجة في ServBay (مثل Nginx أو Caddy أو Apache):
- استخدم أمر
dotnet publish
لنشر التطبيق. - أضف موقعاً إلكترونياً (Website) جديداً في ServBay.
- هيئ الموقع ليعمل كوكيل عكسي (Reverse Proxy)، بحيث يعيد توجيه الطلبات إلى منفذ Kestrel الذي يعمل عليه تطبيق ASP.NET Core (مثلاً
http://localhost:5000
). طريقة الإعداد تختلف حسب خادم الويب (Nginx أو Caddy أو Apache).
يرجى مراجعة وثائق ServBay حول إضافة المواقع وإعداد الـ Proxy العكسي.
الخلاصة
يُسهّل ServBay بشكل كبير إعداد وإدارة بيئة تطوير .NET على macOS. بواجهته البديهية يمكنك بسرعة تثبيت، تبديل، أو إزالة إصدارات .NET SDK وMono، مما يسمح لك بالتركيز على تطوير واختبار تطبيقات C# وF# وASP.NET Core دون عناء.