چگونه برای nuget یک پکیج آماده کنیم ؟

به نام خدا

اگر برنامه نویس دات نت باشید امکان نداره که با nuget تاحالا کار نکرده باشید . همون طور که میدونید با استفاده از این پلتفرم شما میتوانید به پکیج (DLL) ها که توسط افراد دیگر نوشته شده اند دسترسی پیدا کنید و به راحتی به پروژه ی خود اضافه کنید.

با استفاده از nuget (من میخوانم نیوگت) دیگه نیازی نیست DLL هاتون دستی به روز رسانی کنید و یا اگر میخوایید پروژتون به کس دیگه ای بدید همه DLL هارو همراهش بفرستید . با استفاده از تیوگت میتونید به راحتی اونهارو موقع کامپایل پروژه دانلود کنید ... به همین راحتی :)

حالا شاید شما هم مثل من علاقه مند باشید بدونید چطوری میشه سورسی که نوشتید توی نیوگت قرار بدید!؟

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

خب قدم اول این که باید یه پروژه جدید درست کنید چه پروژه ای ؟ پروژه ای از جنس Class Library به این صورت :

Open Visual Studio --> New Project --> windows classic Desktop --> Class Library (.NET framework)
ایجاد پروژه جدید
ایجاد پروژه جدید

بعد از این که پروژه ساخته شد توی کلاس که به صورت پیشفرض ایجاد شده یه متد به نام SayHello برای نمونه ایجاد میکنیم :

ایجاد متد SayHello
ایجاد متد SayHello

حالا پروژه آماده است تا پکیجش رو ایجاد کنیم

خب بریم سراغ مراحل ایجاد پکیج :

  • مرحله اول : ویرایش کردن Assembly Information :

روی پروژه تون کلیک راست کنید و روی گزینه ی Properties کلیک کنید در سر برگ Application میتونید Assembly Information ببینید

گزینه ی Assembly Information
گزینه ی Assembly Information

با انتخاب این گزینه یک سری فیلد به شما نمایش داده میشه که مربوط به اطلاعت پروژه ایجاد شده است :

اطلاعات اسمبلی پروژه
اطلاعات اسمبلی پروژه

این اطلاعات میتونید ویرایش کنید با ویرایش کردن این اطلاعات به نمایش مشخصات پروژتون در نیوگت کمک میکنید

Title : عنوان پروژتون هست

Description : توضیحات مربوط به پروژه

Company : نام شرکت تولید کننده - اسم شخصی خودتون میتونید بزنید

Product : نام محصول

Assembly version : نسخه اسمبلی شما

File Version : نسخه فایل پروژه شما

بعد از این که این اطلاعات به روز کردید روی پروژه کلیک راست کنید و گزینه Rebuild انتخاب کنید راستی توجه کنید که پروژه رو حالت Debug باشه نه Release

  • مرحله دوم : ایجاد فایل با پسوند nuspec

برای ایجاد این فایل نیاز داریم به فایل Nuget.exe که میتونید از لینک زیر دانلود کنید :

https://www.nuget.org/downloads

در این لینک شما میتوانید نسخه های مختفل نیوگت CLI مشاهده کنید که در زمان نگارش این مقاله نسخه 4.6.2 آخرین نسخه این CLI بود.

بعد از دانلود این فایل اون به یه مسیری منتقل کنید

در این مرحله باید این CLI به cmd بشناسونیم چون در صورتی که این کار نکنیم نمیتونیم ازش استفاده کنیم برای این کار باید به این روش عمل کنید :

روی This PC کلیک راست کنید و روی گزینه ی properties کلیک کنید و بعد به Advanced system settings مراجعه کنید :

در این صفحه گزینه ی Environment Variables انتخاب کنید در صفحه ای که باز شد در قسمت System Variables قسمت Path را انتخاب کنید :

بعد از کلیک کردن روی گزینه بالا صفحه ای باز میشود دنبال یک ردیف را New کنید و آدرس فولدری که فایل nuget.exe در آنجا قرار دارد را به اضافه کنید و تایید کنید.

بعد از این کار میریم سراغ ایجاد فایل مورد نظر باید برید توی مسیر پروژتون که فایل با پسوند .csproj داره وقتی وارد اون فولدر شدید با نگه داشتن دکمه Shift روی قسمت خالی صفحه کلیک راست کنید :

روی گزینه Open Powershell windows here (شاید در سیستم شما این باشد :Open Command Prompt) کلیک کنید :

باز زدن این گزینه محیط کامند براتون باز میشه حالا این تایپ کنید :

 nuget spec 

با تایپ کردن این دو کلمه در صورتی که به ارروری بر نخورید یک فایل براتون ایجاد میشه با این عنوان :

HelloNuget.nuspec

این فایل را با یک ادیتور متن باز کنید من بهتون VS Code پیشنهاد میکنم بعد از باز کردن اطلاعات زیر را مشاهده خواهید کرد :

در این فایل قسمت هایی که با $ شروع و پایان یافته اند اطلاعاتشون از همون Assembly Information گرفته میشه ولی بقیه بخش هارو میتونید وارد کنید .

سه تا لینک داریم که میتونید آدرس سایتتون وارد کنید داخلشون و اگر IconUrl بدید اون آیکونی که دوست دارید روی پکیج نیوگت شما قرار میگیرد

و همچنین Tag ها کلمات کلیدی مرتبط با پکیج شما هست تا راحتتر در موتور های جستجو و موتور جست جو خود Nuget یافت شوند.

بعد از این که این فایل تغییر دادید آن را ذخیره کنید

نکته مهم : لینک های LicenseUrl , ProjectUrl , LicenseUrl نمیتواند خالی باشد !!

  • مرحله سوم : ایجاد پکیج Nuget

حالا باید پکیج آماده کنیم در این قسمت به صورت مرحله قبل cmd رو باز میکنیم ولی اینبار این عبارت تایپ میکنیم :

 nuget pack 

بعد از تایپ کردن این عبارت در صورتی که به خطایی بر نخوریم پکیج ما آماده میشه

دقت کنید که حتما از پروژه تو حالت Debug و Release بیلد گرفته باشید

در پایان میتونید یک پیج به نام خودتون توی سایت nuget.org ایجاد کنید و این پکیج خودتون آپلود کنید تا همه بتونن ازش استفاده کنن

برای مطالعه دقیق تر به لینک داکیمونت ماکروسافت مراجعه کنید :

https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package-using-visual-studio-net-framework

موفق و پیروز باشید