آشنایی با NuGet

مدیریت بسته‌ها راحت می‌شود

آیا هر زبان یا هر فریم‌ورکی می‌تواند تمام نیازهای یک برنامه را تامین کند؟ می‌توان گفت هر قدر برنامه بزرگ‌تر می‌شود، جواب دادن به این سوال معنای دیگری پیدا می‌کند و جواب خیر است.
کد خبر: ۴۰۶۷۰۹

قطعا یک فریم‌ورک نمی‌تواند پاسخگوی تمام نیازهای یک پروژه باشد، به همین دلیل شرکت‌هایی متعدد و همین‌طور تعدادی از افراد یک سری کتابخانه را که به آنها اصطلاحا Third-Party گفته می‌شود توسعه دادند تا کار توسعه یک نرم‌افزار را برای شما ساده کنند. برای مثال اگر برای ظاهری زیبا باید ساعت‌ها وقت بگذارید، می‌توانید از چند کتابخانه استفاده کنید که بعضی از آنها به صورت Free یا Open Source هستند (توجه داشته باشید رایگان به معنی متن باز نیست و همین طور برعکس متن باز یک مفهوم در تولید نرم‌افزار است) و بعضی با قیمت‌های متفاوت فروخته می‌شوند. شما به عنوان برنامه‌نویس به بعضی از این کتابخانه‌ها که از این به بعد به آنها Package(بسته) می‌گوییم نیاز دارید.

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

مایکروسافت تمامی‌ این مشکلات را با ارائه یک افزونه برای Visual Studio2010 خود برطرف کرد، اسم این افزونه NuGet (بخوانید نوگت). این افزونه براحتی امکان اضافه‌کردن بسته‌هایی را که برای انجام کارهای خود نیاز دارید، به شما می‌دهد. همین طور شما می‌توانید آنها را مدیریت کنید.

مشکل بعدی که در استفاده از این ابزارها به وجود می‌آید، تنظیمات آن بسته‌هاست. بگذارید یک مثال بزنم: Elmah برای برنامه‌نویسان دات‌نت بخصوص برنامه‌های تحت وب، نامی ‌آشناست. این بسته به شما امکان دیباگ‌کردن درخواست این بسته برای این که بتواند راحت با سایت شما کار کند، نیاز به تنظیمات دارد و اعمال این تنظیمات قدری وقتگیر است. شما حساب کنید اگر برای هر بسته بخواهید مقداری زمان را برای تنظیمات آن بگذارید، چقدر از وقت شما در طول اجرای پروژه گرفته خواهد شد؟

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

NuGet بر اساس PowerShell توسعه داده شده است. برای دانلود و استفاده از آن می‌توانید به سایت Nuget.codeplex.com بروید یا برای نصب آن از بخش مدیریت افزونه‌های ویژوال استودیو ۲۰۱۰ استفاده کنید. برای این کار ویژوال استودیو را باز کنید و از منوی Tools گزینه Extension Manager را انتخاب کنید و در کادر باز شده در پنل سمت راست Online Gallery را برگزینید و در بخش مربوط به جستجو عبارت NuGetرا تایپ کنید ( به این نکته توجه داشته باشید در ویژوال استودیو ۲۰۱۰ مدیریت افزونه‌ها و همین‌طور توسعه آنها راحت‌تر شده است. برای استفاده از افزونه‌های دیگر نیز می‌توانید به همین روش عمل کنید یا به سایت visualstudiogallery.msdn.microsoft.com بروید.)

بعد از نصب NuGet شما 2 راه برای نصب بسته‌های مورد نیاز خود دارید.

راه اول این است که روی فایل پروژه خود راست‌کلیک کرده و گزینه Add Library Package Reference … را انتخاب کنید. در کادر ظاهرشده شما می‌توانید بسته‌هایی را که نصب کرده‌اید مشاهده کنید و با انتخاب Online از منوی سمت راست و گزینه Nuget Official package source بسته‌هایی را که دیگر برنامه‌نویسان ثبت کرده‌اند، ببینید. شما همچنین امکان جستجو دارید و در بخش Update می‌توانید نسخه‌های به روز شده بسته‌های مورد استفاده خود را مشاهده کنید. در بخش Installed نیز می‌توانید بسته‌هایی را ببینید که نصب کرده‌اید و آنها را در صورت عدم نیاز Uninstall کنید.

راه بعدی استفاده از پنجره Package Manager Console است که در واقع یک PowerShell است و شما می‌توانید دستورهای PowerShell را اجرا کنید. در ضمن بسته مورد نیاز خود را نصب کنید و برای راحتی استفاده از آن، کلید کوتاه Tab در نظر گرفته شده است، شما با نوشتن دستور Install – Package و نوشتن قدری از نام بسته مورد نظر خود و فشار دادن کلید Tab، بسته‌های مورد نیاز خود را پیدا کنید. مثلا بنویسید Install – Package mvc بعد کلید Tab را بزنید، یک فهرست برای شما باز خواهد شد که شما می‌توانید با جستجو در بسته‌هایی که نام mvc دارند، هر کدام را که مد نظرتان بود انتخاب کنید و سپس Enter را بزنید تا بسته مورد نظر دانلود و نصب شود.

البته می‌توانید از سایت nugget.org بسته‌های موجود را مشاهده کنید و هر یک را که خواستید، از آنجا دانلود کنید. همین طور خود یک بسته توسعه دهید و آن را برای عموم قرار دهید.

در شماره بعدی بیشتر درباره نصب و اجرای فرمان برای بعضی از بسته‌ها و همین‌طور توسعه یک بسته توضیح خواهیم داد.

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

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

نیازمندی ها