در این قسمت می‌خواهیم شما را بیشتر با توسعه یك بسته در Nuget آشنا كنیم. قبل از آن بهتر است با ساختار بسته‌ها آشنا شویم.

برای این كار یك پروژه خالی ایجاد و سپس یك بسته به آن اضافه كنید (فرقی نمـــی‌كند چه بسته‌ای باشد). سپس به شاخه اصلی پروژه رفته مثلا تا

 

«Visual Studio Projects Directory»

 

... \ConsoleApplication1

در این مسیر یك فولدر با نام package نصب شده است و به ازای هر بسته‌ای كه شما به پروژه خود اضافه كردید یك پوشه در این پوشه وجود دارد و درون آن اطلاعات مربوط به هر بسته موجود است و علاوه بر آن، فایلی با پسوند nupckg وجود دارد كه در واقع فایل اصلی است. این فایل یك فایل از نوع زیپ است (می‌توانید پسوند فایل را به zip تغییر دهید و محتویات آن را مشاهده كنید). برای باز كردن و نشان دادن محتویات آن هم می‌توان روش بالا یعنی تغییر پسوند فایل را به كار بست یا از برنامه NuGet Package Explorer استفاده كنید. برای دانلود آن می‌توان از لینك زیر استفاده كنید:

 

http://nuget.codeplex.com/releases/view/59864

 

بعد از نصب فایل برنامه و اجرای آن، برنامه خودش نصب می‌شود. بعد از نصب آن را اجرا كنید و فایلی با پسوند nupckg را كه در بالا به آن اشاره كردیم به وسیله این برنامه باز كنید.

 

در پنل سمت راست اطلاعات هر بسته موجود است كه شامل این بسته نسخه چند است، توسط چه كسی یا چه كسانی توسعه داده شده است و توضیحات اضافی كه سازندگان بسته به آن اضافه كرده‌اند و...

در پنل سمت راست محتویات بسته را می‌توانید مشاهده كنید، معمولا شامل 3 فولدر است یكی lib كه در واقع فایل كتابخانه‌ای بسته و همین طور وابسته‌های آن و یك فولدر content كه محتویات آن فایل‌های جانبی یك بسته در صورت نیاز است. اما فولدر Tools كه در بین همه بسته‌ها وجود دارد، در این فولدر به صورت پیش‌فرض یك فایل
install.ps
1 وجود دارد. این فایل در واقع یك Powershell Script است، بعضی از بسته‌ها یك فایل uninstall.ps1 نیز دارند و زمانی استفاده می‌شود كه شما بخواهید بسته خود را uninstall كنید اجرا می‌شود. این اسكریپتی زمانی اجرا می‌شود كه یك بسته را نصب كنید و بخواهید آن را به كار ببندید. اما بعضی از بسته‌ها به شما یك رابط خط فرمان نیز می‌دهند كه بتوان از آنها استفاده كرد.

اما چگونه یك بسته را توسعه دهیم و آن را منتشر كنیم؟

در مرحله اول با یك بسته ساده شروع می‌كنیم. فرض كنید یك كتابخانه نوشته‌اید به اسم mydll.dll، حالا می‌خواهید آن را به صورت یك بسته منتشر كنید.

در مـــرحله اول رابط خط فـــرمان NuGet را از سایت Nuget.codeplex.com دانلود كنید. بعد از دانلود كردن آن دستور زیر را وارد كنید:

nuget.exe spec «path of my dll file»

 

در اینجا آدرس فایل dll خود را به عنوان فایل ورودی دهید، كه یك فایل با پسوند nuspec هم‌نام با نام فایل dll خود می‌سازد. برای مثال

 

nuget.exe spec d:\mydll.dll

 

فایل خروجی mydll.nuspec، فایل nuspec یك فایل xml است كه توضیحات بسته شما در آن قرار دارد، به طور مثال Id بسته، Authors تولیدكننده بسته، licenseurl آدر فایل لایسنس بسته، در بخش file شما می‌توانید ساختار فایل‌ها و فولدر‌های خود را در این بسته مشخص كنید و... (بگذارید برگردیم بالا در برنامه nuget package explorer دیدید كه یك سری اطلاعات اضافه در مورد بسته به شما می‌دهد، كه اضافه همان اطلاعاتی است كه در پنل سمت راست این برنامه ظاهر شده بود).

 

بسیار خب حالا براساس فایل nuspec و فایل dll خود می‌توانید یك بسته را منتشر كنید، باز به رابط خط فرمان برگردید و دستور زیر را وارد كنید:

nuget.exe pack mydll.nuspec

 

بعد از اجرای این دستور یك فایل با نام mydll.nupckg برای شما ایجاد می‌شود. تا اینجا توانسته‌اید یك بسته را تولید كنید اما منتشر كردن آن چه؟

 

برای انتشار بسته برویم می‌توانیم مستقیم با استفاده از فایل csproj.* یا vbproj.* یا... (در كل فایل‌های مربوط به یك پروژه) یك بسته را تولید كرد، مانند دستور زیر

nuget pack myproject.csproj

 

برای انتشار بسته جهت استفاده دیگران باید به سایت nuget.org بروید و در آن ثبت‌نام كنید. بعد از تكمیل ثبت‌نام به شما یك كد داده می‌شود كه فقط و فقط برای شما معتبر است و با استفاده از آن می‌توانید بسته‌هایی را كه توسعه داده‌اید منتشر كنید. برای انتشار بسته نیز كار بسادگی صورت می‌گیرد. ابتدا باید كدی كه سایت به شما داده و در واقع همان Access Key شماست را به برنامه خط فرمان nugget بدهید با دستور زیر:

 

nuget SetApiKey «your-api-keys‌‌

 

از این پس هر وقت خواستید بسته‌ای را منتشر كنید، احراز هویت بسته از طریق ApiKey شما بررسی می‌شود.

 

در نهایت شما می‌توانید با استفاده از دستور:

nugget push mydll.nupckg

 

بسته خود را در اینترنت منتشر كنید.

 

 

اميربهاالدين سبط‌الشيخ