آشنایی با NuGet - قسمت اول
اندازه‌ی قلم متن
تخمین مدت زمان مطالعه‌ی مطلب: چهار دقیقه


NuGet چیست؟

روش متداول استفاده از کتابخانه‌های موجود دات نتی در Visual studio‌ عموما به این صورت است: مراجعه به سایت مربوطه، دریافت بسته مورد نظر، باز کردن آن و سپس افزودن ارجاعی به اسمبلی‌های آن کتابخانه. در این حالت زمانیکه نسخه‌ی جدیدی از کتابخانه‌ی مورد استفاده ارائه ‌شود (و عموما تا مدت‌ها شاید از آن بی‌اطلاع باشیم) تمام این مراحل باید از ابتدا تکرار شوند و همینطور الی آخر.
برای رفع این نقیصه، تیم ASP.NET، افزونه‌ای سورس باز و رایگان را به نام NuGet جهت VS.Net 2010 طراحی کرده‌اند که کار مدیریت بسته‌های کتابخانه‌های مورد استفاده را بسیار ساده کرده است. امکانات این افزونه پس از نصب، در دو حالت استفاده از رابط گرافیکی کاربری آن و یا با استفاده از خط فرمان PowerShell ویندوز در دسترس خواهد بود. این افزونه در زمان بارگذاری، با مراجعه به فید سایت مرکزی خود، لیست بسته‌های مهیا را در اختیار علاقمندان قرار می‌دهد. درب این سایت مرکزی به روی تمام توسعه‌ دهنده‌ها جهت افزودن بسته‌های خود باز است.
و ... فراگیری کار با NuGet برای تمام برنامه نویسان دات نت لازم و ضروری است! از این جهت که پیغام "این بسته تنها برای NuGet عرضه شده است" کم کم در حال متداول شدن می‌باشد و دیگر سایت‌های مرتبط، لینک مستقیمی را جهت دریافت کتابخانه‌های خود ارائه نمی‌دهند. حتی خبر به روز شدن محصولات خود را هم شاید دیگر به صورت منظم ارائه ندهند؛ زیرا NuGet کار مدیریت آن‌ها را به عهده خواهد داشت.


دریافت و نصب NuGet

NuGet را حداقل به سه طریق می‌توان دریافت و نصب کرد:
الف) با مراجعه به سایت CodePlex : (+)
ب) دریافت آن از سایت گالری‌های آن : (+)


ج) با استفاده از امکانات VS.NET

هر سه روش فوق به دریافت و نصب فایل NuGet.Tools.vsix منتهی می‌شوند. برای مثال در روش (ج) باید به منوی Tools و گزینه‌ی Extension Manager مراجعه کنید. سپس برگه‌ی Online Gallery را گشوده و اندکی صبر کنید تا اطلاعات آن دریافت و نمایش داده شود. سپس NuGet را در Search box بالای صفحه نوشته و NuGet Package manager ظاهر شده را انتخاب و نصب کنید.



نحوه استفاده از NuGet

فرض کنید یک پروژه جدید ASP.NET را ایجاد کرده‌اید و نیاز است تا کتابخانه‌ی ELMAH به آن اضافه شود. روش انجام اینکار را به کمک NuGet در ادامه بررسی خواهیم کرد (کمتر از یک دقیقه زمان خواهد برد):

الف) با کمک امکانات رابط گرافیکی کاربر آن
ساده‌ترین روش استفاده از NuGet ، کلیک راست بر روی پوشه References در Solution explorer و سپس انتخاب گزینه‌ی Add Library Package Reference می‌باشد:



در صفحه‌ی باز شده، برگه‌ی Online را باز کنید و مدتی صبر نمائید تا اطلاعات لازم دریافت گردد (در زمان نگارش این مطلب، 1135 بسته در این مخزن موجود است):



سپس در جعبه‌ی جستجوی سمت راست بالای صفحه، نام کتابخانه‌ی مورد نظر را نوشته و اندکی صبر کنید تا اطلاعات آن نمایش داده شود:



اکنون با کلیک بر روی دکمه Install ، بسته مرتبط با این کتابخانه دریافت شده و سپس به صورت خودکار ارجاعی به آن نیز افزوده خواهد شد. همچنین تنظیمات مرتبط با فایل Config برنامه هم اضافه می‌شوند.

روش دیگر ظاهر کردن این صفحه، مراجعه به منوی Tools و گزینه‌ی Library Package Manager می‌باشد:



جهت دریافت به روز رسانی‌های بسته‌های نصب شده تنها کافی است به برگه‌ی Updates این صفحه مراجعه کرده و موارد لیست شده را نصب نمائیم:



نکته: NuGet در SharpDevelop 4.1 به بعد هم پشتیبانی می‌شود:




ب) با استفاده از امکانات خط فرمان PowerShell ویندوز
برای استفاده از امکانات پاورشل ویندوز نیاز است تا پاورشل نگارش 2 بر روی سیستم شما نصب باشد (نیاز به Windows XP with Service Pack 3 به بعد دارد). سپس به منوی Tools ، قسمت Library Package Manager ، گزینه‌ی Package Manager Console آن جهت فعال سازی کنسول پاور شل در VS.NET مراجعه نمائید:


نکته: در تصویر فوق پس از نوشتن el ، دکمه tab فشرده شده است. در این حالت منوی پکیج‌های مهیای شروع شده با el، از سایت مرکزی NuGet ظاهر گردیده است.

فرامین مهمی که در اینجا در دسترس هستند شامل: List-Package ، Uninstall-Package ، Update-Package و Get-Package می‌باشند. برای مثال اگر قصد جستجو در بین بسته‌های موجود را داشته باشید Get-Package بسیار مفید است:



برای مثال جهت یافتن بسته‌های مرتبط با wpf و silverlight به صورت زیر می‌توان عمل کرد:
PM> get-package -remote -filter wpf
PM> get-package -remote -filter silverlight

نکته: روش دیگر جستجو در بین بسته‌های مهیا، مراجعه به سایت گالری آن است : (+) . در اینجا دستور پاورشل نصب هر بسته‌ی یافت شده نیز نمایش داده می‌شود.


ج) استفاده از برنامه NuGet.exe
برنامه NuGet.exe از سایت CodePlex قابل دریافت است. این روش هم جهت علاقمندان به خط فرمان تدارک دیده شده است!
پس از دریافت آن فرض کنید می‌خواهیم تمام بسته‌های شروع شده با nhi را لیست کنیم. برای این منظور دستور خط فرمان ذیل را صادر کنید:
D:\Test>nuget list nhi
سپس برای دریافت مثلا NHibernate تنها کافی است دستور زیر اجرا شود:
D:\Test>nuget install NHibernate

به این صورت کتابخانه NHibernate ‌به همراه تمام وابستگی‌های آن دریافت خواهد شد.

به روز رسانی خودکار NuGet
برای به روز رسانی برنامه nuget.exe دستور زیر را می‌توان صادر نمود:
D:\Test>NuGet.exe u
و یا جهت فعال سازی به روز رسانی‌های خودکار افزونه‌ها در VS.NET به منوی زیر مراجعه کنید:
Tools | Options, then Environment | Extension Manager and click "Automatically check for updates to installed extensions."





ادامه دارد ...

  • #
    ‫۱۳ سال و ۶ ماه قبل، دوشنبه ۲۲ فروردین ۱۳۹۰، ساعت ۰۳:۱۸
    بسیار مفید است و اگر ادامه پیدا کند خواهد بود;)

    برام یه تلنگر بود برم سمت NuGet

    راستی چطور تلفظ میشه؟
  • #
    ‫۱۳ سال و ۶ ماه قبل، دوشنبه ۲۲ فروردین ۱۳۹۰، ساعت ۰۳:۲۳
    داستان نامگذاری اون رو می‌تونید اینجا بخونید
    http://haacked.com/archive/2010/10/29/nupack-is-now-nuget.aspx
    نیو گت است مطابق نظر تولید کنندگان آن
  • #
    ‫۱۳ سال و ۶ ماه قبل، دوشنبه ۲۲ فروردین ۱۳۹۰، ساعت ۲۱:۳۴
    ‫سلام،

    یک سوال بی‌ربط به NuGet:

    disqus در وبلاگ من به خوبی کار نمی‌کند. در واقع box مربوط به ورود کامنت مدت زمان خیلی خیلی زیادی به حالت ‎Please wait می‌ماند. آن هم ظاهراً به خاطر بلایی که بر سر mediacdn.disqus.com آمده.

    ایده‌ای برای حل آن دارید؟

    افشار
    blog.afsharm.com
  • #
    ‫۱۳ سال و ۶ ماه قبل، دوشنبه ۲۲ فروردین ۱۳۹۰، ساعت ۲۳:۵۶
    سلام؛ من با قسمت نظرات سایت شما مشکلی نداشتم. الان با دو مرورگر مختلف بررسی کردم و به خوبی دیسکاس نمایش داده میشه.
    ضمنا دیسکاس زبان فارسی رو هم اضافه کرده که می‌تونید فعالش کنید
    Admin --- Settings --- General --- Language --- Persian
  • #
    ‫۱۳ سال و ۶ ماه قبل، سه‌شنبه ۲۳ فروردین ۱۳۹۰، ساعت ۰۲:۴۰
    ‫ممنون.

    جالبه که درست در همون لحظه‌ای که کامنت قبلی‌رو گذاشتم سیستم کامنت وبلاگ خودم هنوز مشکل داشت ولی همین الان هیچ مشکلی نداره!
  • #
    ‫۱۰ سال و ۸ ماه قبل، یکشنبه ۲۹ دی ۱۳۹۲، ساعت ۱۷:۵۸
    با سلام و خسته نباشید
    من یه مشکل کوچیک دارم تو نوگت با ویژوال استدیو 2012 update 2 یا ویژوال استدیو 2013 
    به آدرس https در package source وصل نمیشه(تا اونجایی که فهمیدم به خاطر سیاست‌های داخلی اینترنت ایرانه)،میدونم با تغییر دادن آدرس به http مشکل حل میشه!
    ولی متاسفانه الان هر چی میگردم اون آدرس رو پیدا نمیکنم
    خواستم ببینم اگر اون آدرس package source رو دارید برام قرار بدید
     با تشکر از شما