0Pricing
C# Academy · درس

حزم المكتبات ونشرها إلى NuGet

احزم مكتبة في ملف ‎.nupkg وانشرها. أضف الحد الأدنى من البيانات الوصفية، وشغّل dotnet pack، وادفع الحزمة باستخدام مفتاح API، واتبع ممارسات النشر الآمن.

حزم المكتبات ونشرها إلى NuGet درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 3 دروس في المجموع.

الخطة

الهدف: إنشاء حزمة NuGet ونشرها.

  • تعبئة البيانات الوصفية الأساسية في المشروع
  • تشغيل dotnet pack للحصول على ملف .nupkg
  • استخدام مفتاح API لتنفيذ dotnet nuget push
  • اتباع فحوصات النشر الآمن

البيانات الوصفية المطلوب تعيينها

  • PackageId: معرّف فريد، مثل Company.Widget
  • Version: MAJOR.MINOR.PATCH
  • Authors وDescription
  • PackageLicenseExpression، مثل MIT، أو ملف ترخيص
  • RepositoryUrl، وهو اختياري لكنه مفيد

معاينة الهوية

تحمل الحزمة هوية وإصدارًا. يقرأ هذا التطبيق البسيط اسم التجميعة وإصدارها اللذين ستكشف عنهما عند إنشاء الحزمة.

using System;
using System.Reflection;

// Demo: show how a packed library exposes version and name.
// In real packaging, version/metadata come from the .csproj.
public class Program
{
  public static void Main(string[] args)
  {
    Assembly asm = Assembly.GetExecutingAssembly();
    Version ver = asm.GetName().Version;
    string name = asm.GetName().Name;
    Console.WriteLine("Assembly: " + name);
    Console.WriteLine("Version: " + (ver == null ? "unknown" : ver.ToString()));
    Console.WriteLine("Tip: Set PackageId/Version/Authors in the .csproj before packing.");
  }
}

خطوات الحزم والدفع

سير العمل: الاستعادة → الحزم → الدفع. احفظ مفتاح API بأمان، وقيّد نطاقه.

using System;

// This code prints the typical pack workflow steps.
// Run them in your terminal; here we just echo the sequence.
public class Program
{
  static void Print(string step)
  {
    Console.WriteLine(step);
  }

  public static void Main(string[] args)
  {
    Print("1) Ensure .csproj has PackageId/Version/Authors/Description");
    Print("2) dotnet restore");
    Print("3) dotnet pack -c Release");
    Print("   -> bin/Release/<tfm>/*.nupkg");
    Print("4) Get an API key from your NuGet server");
    Print("5) dotnet nuget push bin/Release/*.nupkg --api-key <KEY> --source <URL or nuget.org>");
    Print("Done: package available for consumers.");
  }
}

نصائح النشر

  • اختبر الحزمة محليًا قبل الدفع، وذلك بتثبيتها من مصدر محلي
  • حافظ على سرية مفاتيح API؛ وفضّل متغيرات البيئة
  • وفّر معلومات الرموز البرمجية أو المصدر إذا أردت تصحيحًا أفضل
  • اكتب README وسجل تغييرات موجزين

استكشاف الأخطاء وإصلاحها

  • المعرّف ID موجود بالفعل → اختر PackageId فريدًا
  • الترخيص مفقود → أضف PackageLicenseExpression أو ملف ترخيص
  • لا يوجد وصف → أضف ملخصًا موجزًا للمنتج
  • الإصدار غير صحيح → حدّث MAJOR/MINOR/PATCH بشكل صحيح

أمر الحزم

تحقّق سريع: ما أمر CLI الذي ينشئ ملف .nupkg من ملف .csproj؟

الخلاصة

الخلاصة: املأ بيانات المشروع الوصفية، وشغّل dotnet pack لإنشاء ملف .nupkg، ثم استخدم dotnet nuget push مع مفتاح API الخاص بك. تحقّق من المحتوى وحافظ على أمان بيانات الاعتماد.

الأسئلة الشائعة

هل درس «حزم المكتبات ونشرها إلى NuGet» مجاني؟

نعم — نص درس «حزم المكتبات ونشرها إلى NuGet» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 3 دروس في المجموع.

ماذا ستتعلم في «حزم المكتبات ونشرها إلى NuGet»؟

احزم مكتبة في ملف ‎.nupkg وانشرها. أضف الحد الأدنى من البيانات الوصفية، وشغّل dotnet pack، وادفع الحزمة باستخدام مفتاح API، واتبع ممارسات النشر الآمن. تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟

لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.

كم من الوقت يستغرق درس «حزم المكتبات ونشرها إلى NuGet»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟

نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ملف ‎.csproj للمكتبة مقابل التطبيق، والإصدار الدلالي
  2. حزم المكتبات ونشرها إلى NuGet
  3. الاستهداف المتعدد
← العودة إلى C# Academy