آشنایی با NuGet - بخش دوم

بسته‌بندی در دنیای مجازی

در شماره پیش با NuGet و چگونگی اضافه کردن یک Package به یک پروژه آشنا شدیم. در این شماره می‌خواهیم شما را بیشتر با توسعه یک بسته در 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

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

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

newsQrCode
ارسال نظرات در انتظار بررسی: ۰ انتشار یافته: ۰

نیازمندی ها