آموزش ساخت NuGet Package به صورت گام به گام

  • دوشنبه ۲۹ بهمن ۱۳۹۷
  • بازدید ۴,۰۳۹ نفر

تصویر creating-a-nuget-package_6037 آموزش ساخت NuGet Package به صورت گام به گام

آموزش ساخت NuGet Package به صورت گام به گام

ساخت NuGet Package یک فرآیند نسبتا ساده است اما برای اولین بار ممکن است کمی پیچیده به نظر برسد. ما در این مقاله یک بسته NuGet با نام LogAssist را ایجاد کرده و در یک برنامه از آن استفاده خواهیم کرد.

ایجاد پروژه LogAssist

بسته شما باید یک کلاس از نوع .Net Framework Class Library باشد. و تمام فایل هایی که می خواهید در بسته شما وجود داشته باشند، باید در پروژه Include شوند. LogAssist یک پروژه ساده برای log کردن رویداد های مختلفی است که در زمان اجرای برنامه رخ می دهد (مانند خطاها).

برای ایجاد این پروژه مراحل زیر را دنبال کنید:

  • یک پروژه جدید با نام LogAssist و از نوع Class Library ایجاد کنید.
  • یک کلاس جدید با نام Logger ایجاد کرده و محتوای زیر را در آن بنویسید.

کلاس Logger

حال این پروژه را Build کنید تا فایل dll مربوط به آن تولید شود. تا اینجای کار ما پروژه مورد نظر خود را ایجاد کردیم. در ادامه نحوه تبدیل این پروژه یک بسته NuGet را بررسی می کنیم.

ایجاد فایل .nuspec

.nuspec یک فایل XML شامل اطلاعات مربوط به بسته و سایر اطلاعاتی که سایت Nuget.org برای انتشار بسته به آن نیاز دارد، است. این فایل مهمترین بخش یک بسته NuGet محسوب می شود. در زیر ساختار یک فایل .nuspec را مشاهده می کنید:

عناصر ضروری

عنصرتوضیحات
id

شناسه (یا همان نام) مربوط به بسته را مشخص می کند. این نام حساس به حروف است و باید منحصر به فرد باشد. همچنین نباید شامل فضای خالی باشد.

version

نسخه بسته را بر اساس الگوی نسخه بندی major.minor.patch مشخص می کند.

description

توضیحات مربوط به بسته را مشخص می کند.

authors

لیست نویسندگان بسته را مشخص می کند. برای جدا سازی نویسدگان باید از  comma استفاده کنید.

عناصر اخیتاری اما مفید

عنصرتوضیحات
title

عنوان بسته شما را مشخص می کند. اگر مشخص نشود، به شناسه بسته برای عنوان استفاده می شود.

projectUrl

آدرس مربوط به بسته را مشخص می کند. برای مثال اگر پروژه شما در سایت GitHub باشد، می توانید آدرس مخزن را در این بخش وارد کنید.

licenseUrl

آدرس فایل لایسنس بسته را مشخص می کند.

iconUrl

آدرس یک تصویر PNG با اندازه 64×64 که به عنوان آیکون بسته نمایش داده می شود. اگر مشخص نشود، تصویر پیشفرض برای بسته انتخاب می شود.

releaseNotes

توضیحات مختصری در مورد نسخه منتشر شده را مشخص می کند.

copyright

جزئیات مربوط به کپی رایت بسته را مشخص می کند.

در زیر فایل .nuspec مربوط به پروژه LogAssist را مشاهده می کنید:

ایجاد بسته NuGet

بعد از ایجاد فایل .nuspec حال باید آن را به یک بسته تبدیل کنید. به سایت Nuget.org رفته و از  قسمت دانلود فایل nuget.exe را دانلود کنید. این برنامه با استفاده از اطلاعات موجود رد فایل .nuspec پروژه شما را به یک بسته Nuget تبدیل می کند. توجه داشته باشید که فایل nuget.exe باید در داخل فولدر پروژه شما اجرا شود.

برنامه nuget.exe را از طریق خط فرمان و با دستور زیر اجرا کنید:

دستور فوق مسیری که بسته شما قرار دارد را مشخص می کند.

حال دستور زیر را اجرا کنید تا بسته شما ایجاد شود:

بعد از اجرای دستور فوق یک فایل جدید با پسوند .nupkg ایجاد می شود که شامل فایل های مربوط به بسته است. نام بسته به طور خودکار با فرمت [package id].[package version].nupkg ایجاد می شود. برای مثال (LogAssist.1.0.0.nupkg).

انتشار بسته NuGet

حال بسته شما آماده است و می توانید آن را در سایت Nuget.Org منتشر کنید تا در دسترس سایر توسعه دهنده ها قرار گیرد. در این آموزش فرض می کنیم که شما قبلا در این سایت حساب کاربری و یک API Key مربوط به خودتان را ایجاد کرده اید.

آپلود بسته به صورت دستی

در این روش شما به راحتی می توانید با رفتن به لینک زیر فایل nupkg مربوط به بسته خودتان را آپلود کنید. صفحه آپلود بسته سایت NuGet بعد از آپلود شدن بسته NuGet آن را باز کرده و محتوای فایل .nuspec را بررسی می کند. اگر بسته شما ایرادی نداشته باشد، آن را منتشر خواهد کرد.

آپلود بسته با استفاده از فایل Nuget.exe

به منظور آپلود بسته استفاده از برنامه Nuget.exe ابتدا باید با استفاده از دستور زیر API Key خود را تنظیم کنید:

بعد از تنظیم API Key می توانید به راحتی با استفاده از دستور زیر بسته خود را آپلود کنید:

 

نکته! با استفاده از دستور زیر می توانید هر تعداد فایل nupkg که در پوشه وجود داشته باشد، آپلود کنید:

فیلم آموزش نحوه ایجاد یک بسته NuGet

برای درک بهتر مراحل فوق می توانید فیلم آموزشی زیر را مشاهده کنید.

نکات آموزش

  • در فیلم آموزشی فوق از روش آپلود دستی استفاده شده است.
  • ما بعد از ایجاد پروژه توسط نرم افزار ویژوال استودیو آن را با استفاده از Git در سایت GitHub آپلود کرده ایم.
  • توجه داشته باشید که ما هنگام ساخت این آموزش یک بسته با نام LogAssist در سایت Org ایجاد کرده ایم. بنابراین ممکن است شما نتوانید یک بسته دیگر با همین نام ایجاد کنید.
  • بعد از آپلود شدن بسته، مدتی طول می کشد تا بسته شما آماده استفاده شود (در بدترین حالت چند ساعت).
  • برای ایجاد حساب کاربری در سایت Nuget باید از اکانت مایکروسافت خودتان استفاده کنید.

لینک های مفید

 

باکس دانلود
مطالب مرتبط
ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است