كيفية رفع مشروع .NET على MonsterASP باستخدام أمر publish + حل أشهر المشاكل
إذا كنت تعمل على مشروع [ASP.NET](http://asp.net/) Core وتريد نشره على استضافة مثل MonsterASP، فستحتاج إلى استخدام أمر dotnet publish لتجهيز المشروع قبل رفعه. في هذا المقال، سنشرح الطريقة خطوة بخطوة، بالإضافة إلى أشهر المشاكل التي قد تواجهك وكيفية حلها.
أولاً: تجهيز المشروع للنشر باستخدام dotnet publish
قم بفتح Terminal أو Command Prompt داخل مجلد المشروع، ثم نفذ الأمر التالي:
dotnet publish WebApplication1/WebApplication1.csproj -c Release -o publishشرح الأمر:
- WebApplication1.csproj → ملف المشروع
- -c Release → وضع الإنتاج (أفضل أداء)
- -o publish → مجلد الإخراج
بعد تنفيذ الأمر، سيتم إنشاء مجلد باسم publish يحتوي على الملفات الجاهزة للرفع.
ثانياً: رفع المشروع على MonsterASP
- تسجيل الدخول إلى حسابك في MonsterASP وبعدها سوف تحتاج لعمل قاعده بيانات وwebsite
- الدخول إلى File Manager أو استخدام FTP بعدها انتقل الي file
- التأكد من أن الملف web.config موجود
- بعدها تشغيل الموقع من لوحة التحكم

والان اانتقل الي الويبسايت
بعدها افتح ملف wwwroot واذا لم يكن موجود قم بانشاءه وبعدها ادخل داخله ضع الملف المضغوط بداخله
وبعدها فك الضغط عنه

ليكون بالشكل التالي

بعد توليد الملف انسخ كل المحتوي الذي بداخله وقم بضغطه وبعدها قم بوضعه في
وتاكد ان المحتوي الذي بداخله
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\WebApplication1.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>أهم المشاكل التي قد تواجهك وحلولها
المشكلة 1: الموقع لا يعمل (HTTP Error 500)
السبب: خطأ في الإعدادات أو Missing Runtime
الحل:
- تأكد أن MonsterASP يدعم نفس إصدار .NET
- راجع ملف web.config
- افتح logs اذا لم يكن موجود قم بانشاءه لمعرفة الخطأ
المشكلة 2: Missing .NET Runtime
السبب: السيرفر لا يحتوي على نفس نسخة .NET
الحل:
- استخدم Self-contained deployment:
dotnet publish -c Release -r win-x64 --self-contained true -o publishخطأ في web.config
السبب: ملف web.config غير متوافق
الحل:
- تأكد من وجود الملف بهذا النمط:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\WebApplication1.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>تاكد ايضا من stdoutLogEnabled انه false ولكن اذا كنت ترغب بتسجيل logs يمكنك تفعيله كما قمت انا بذلك
المشكلة 4: الموقع يعمل محلياً فقط
السبب: إعدادات البيئة
الحل:
- تأكد من إعداد Production في السيرفر
- تعديل والتاكد ان كل العناصر التي بداخله كامله مثل التوكن وغيره appsettings.Production.json
مشاكل قواعد البيانات
السبب: Connection String خاطئ
الحل:
- تحديث Connection String ليتناسب مع السيرفر
- التأكد من السماح بالاتصال الخارجي
اضافه Environment variables
انتقل الي Scripting بعدها سوف تجد خيار Environment variables قم من داخله باضافه Keys الخاصه بك وبعدها انتقل الي Process وقم بعمل kill او Restart Application [AppPool]

مشكلة ملف appsettings.json
من أكثر المشاكل التي قد تواجهك بعد رفع المشروع هي وجود نقص أو خطأ في ملف appsettings.json، لذلك يجب التأكد أن الملف يحتوي على كل الإعدادات التي يستخدمها المشروع.
على سبيل المثال، إذا كان المشروع يعتمد على قاعدة بيانات MySQL، أو إعدادات البريد الإلكتروني، أو JWT، أو Kafka، فيجب أن تكون هذه الإعدادات موجودة داخل الملف بشكل صحيح.
تأكد من وجود الأقسام الأساسية مثل:
- ConnectionStrings: ويحتوي على بيانات الاتصال بقاعدة البيانات.
- AppSettings: ويحتوي على رابط الموقع أو الإعدادات العامة.
- EmailSettings: ويحتوي على إعدادات إرسال البريد الإلكتروني.
- Jwt: ويحتوي على إعدادات تسجيل الدخول والتوكن.
- Kafka: إذا كان مشروعك يستخدم Kafka للإشعارات أو الرسائل.
من المهم جدًا عدم ترك أي قيمة يستخدمها المشروع غير موجودة، لأن ذلك قد يؤدي إلى ظهور أخطاء عند تشغيل الموقع بعد الرفع.
كذلك لا يُفضل وضع كلمات المرور أو مفاتيح الحماية الحقيقية داخل المقال أو مشاركتها علنًا، ويفضل استخدام قيم تجريبية أو توضيحية فقط عند الشرح.
نصائح مهمة قبل النشر
- احذف الملفات غير الضرورية قبل الرفع
- استخدم Release دائماً وليس Debug
- تأكد من توافق إصدار .NET
- اختبر المشروع محلياً قبل رفعه
الخلاصة
رفع مشروع .NET على MonsterASP عملية بسيطة إذا اتبعت الخطوات الصحيحة: استخدم dotnet publish، ارفع الملفات، ثم تحقق من الإعدادات. مع معرفة المشاكل الشائعة، ستتمكن من حل أي خطأ بسرعة.






