
آموزش مدیریت نوگت پکیج ها (Nuget Package) در ویژوال استودیو
آموزش مدیریت نوگت پکیج ها (Nuget Package) در ویژوال استودیو یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، آموزش مدیریت و ساخت نوگت پکیج ها (Nuget Package) در ویژوال استودیو است که با نام اصلی Package Management in Visual Studio 2022 از شرکت Pluralsight منتشر شده است.
یک Nuget Package چیست؟
یکی از ابزارهای ضروری برای برنامه نویسان در توسعه نرم افزارهای مدرن مکانیزمی است که با استفاده از آن بتوانند کدهای مفید خود را ایجاد کرده، به اشتراک بگذارند و یا حتی به مصرف دیگران برسانند. اغلب اوقات چنین کدهایی به درون پکیج هایی قرار می گیرند و یا اصطلاحاً bundle می شوند. این پکیج ها شامل کدهای bundle شده و یا همان اسمبلی ها می باشد. کنار این فایل ها اغلب محتواهای دیگری نیست قرار میگیرند تا پروژههای بتوانند از این پکیج ها استفاده کنند. در تکنولوژی های .NET و .NET Core مکانیزمی که به منظور به اشتراک گذاری کد استفاده می شود Nuget نام دارد. با استفاده از Nuget می توانید نحوه ایجاد شدن پکیج ها، میزبانی شدن و مصرف شدن آنها را تنظیم و تعریف کنید. به بیان ساده یک Nuget پکیج یک فایل زیپ بسیار ساده است که پسوند nupkg دارند این فایل شامل کدهای کامپایل شده و دیگر فایل های مرتبط با کد است. علاوه بر این یک manifest توصیفی که شامل اطلاعاتی شبیه به نسخه ورژن پکیج مورد نظر می باشد نیز وجود دارد.
برنامه نویسانی که قصد به اشتراک گذاری کدهایی را دارند، اقدام به ایجاد کردن پکیج ها و سپس منتشر کردن آنها در host های private و یا public می کند. پس از انجام این کار مصرفکنندگان این پکیج ها می توانند پکیج های مورد نظر خود را از host های مختلف دریافت کرده و آنها را به پروژههای خود اضافه کنند. سپس عملکرد و یا functionality تعریف شده در پکیج مورد نظر را در پروژه خود استفاده می کنند.

سیستم Nuget تمامی جزئیات سطح پایین مربوط به کار کردن با پکیچ ها در .NET و .NET Core را مدیریت می کند. از آنجایی که از Nuget از host ها و یا میزبان های private در کنار میزبان عمومی یعنی Nuget.org پشتیبانی می کند. شما می توانید از Nuget پکیج برای به اشتراک گذاشتن کدی که به طور خاص برای یک سازمان و یا گروه کاری توسعه داده شده است نیز استفاده کنید. علاوه بر این امکان استفاده کردن از نوگت پکیج ها به عنوان روشی ساده برای به اشتراک گذاشتن کد و یا استفاده کردن مجدد از آن در پروژه های مختلف خودتان وجود دارد. به بیان ساده یک نوگت پکیج یک واحد از کد است که قابلیت به اشتراک گذاری کردن را دارد.
یک Nuget Package چیست؟
یک Nuget Package میتواند شامل کدهای قابل استفاده مجدد باشد که برنامه نویسان دیگر در اختیار شما قرار داده اند. شما به منظور استفاده کردن از کدهای توسعه داده شده توسط برنامه نویسان دیگر می توانید از Nuget پکیج ها استفاده کنید. یک Nuget Package را می توان به سادگی در یک پروژه جدید در ویژوال استودیو با استفاده از پنجره Nuget Package Manager و یا Package Manager Console نصب کرد.

پس از نصب یک Nuget Package می توانید یک رفرنس به پکیج مورد نظر را با استفاده از namespace مربوط به آن پکیج لحاظ کنید. می توانید یک رفرنس را با اضافه کردن namespace مربوط به آن Nuget Package در کد خود لحاظ کنید. پس از استفاده کردن از namespace مربوط به Nuget Package انتخابی میتوانید به سادگی از آن functionality های تعریف شده در آن استفاده نمایید .
مدیریت وابستگیهای پروژه با NuGet در Visual Studio 2022
در پروژههای .NET، استفاده از کتابخانههای آماده میتواند نیاز به پیادهسازی دوباره قابلیتهای رایج را کاهش دهد؛ بااینحال، هر کتابخانه به یک وابستگی مشخص در پروژه تبدیل میشود و باید درست مدیریت شود. این آموزش کار با Packageها در `Visual Studio 2022` را بهصورت عملی بررسی میکند و نشان میدهد چگونه وابستگیها را به پروژه اضافه کنید و از قابلیتهایی که ارائه میدهند استفاده کنید. موضوع `Package Dependency` نیز مطرح میشود تا ارتباط میان پروژه و پکیجهای موردنیاز آن روشن شود. این شناخت هنگام بررسی خطاهای ساخت یا تغییر کتابخانهها اهمیت پیدا میکند.
همه پکیجها الزاماً از یک منبع عمومی دریافت نمیشوند؛ در برخی سازمانها یا پروژهها، استفاده از `Private Package`ها و مخازن اختصاصی بخشی از روند توسعه است. در این آموزش با کار کردن با Package Repositoryها و استفاده از پکیجهای خصوصی در پروژه آشنا میشوید. این مباحث برای زمانی کاربرد دارند که تیم توسعه کتابخانههای داخلی را میان چند پروژه به اشتراک میگذارد یا دسترسی به منابع پکیج را کنترل میکند. یادگیری این گردش کار در Visual Studio 2022 کمک میکند محل دریافت وابستگیها و نحوه استفاده از آنها را بهتر مدیریت کنید.
Semantic Versioning؛ انتخاب نسخه مناسب برای پکیجهای .NET
تغییر نسخه یک پکیج میتواند بر سازگاری پروژههای وابسته اثر بگذارد؛ به همین دلیل، شماره نسخه باید اطلاعاتی قابلفهم درباره نوع تغییر ارائه کند. این آموزش مفهوم `Semantic Versioning` را معرفی میکند و به نحوه استفاده از آن برای تعریف نسخههای پکیج میپردازد. در این رویکرد، بخشهای شماره نسخه برای بیان تغییرات ناسازگار، قابلیتهای جدید سازگار و اصلاحات کوچک به کار میروند. شناخت این قرارداد به توسعهدهندگان کمک میکند هنگام انتشار یا انتخاب نسخه جدید یک کتابخانه، اثر احتمالی تغییرات را بهتر ارزیابی کنند و وابستگیها را آگاهانهتر بهروزرسانی کنند.
بخش عملی آموزش، ایجاد نسخههای مختلف یک پکیج و پیادهسازی Semantic Versioning را پوشش میدهد. همچنین، چالشهای مربوط به این روش بررسی میشوند تا روشن شود چرا افزایش شماره نسخه باید با نوع تغییرات واقعی کتابخانه هماهنگ باشد. اگر یک پکیج در چند پروژه استفاده شود، انتشار نسخه ناسازگار ممکن است باعث بروز خطا در مصرفکنندگان آن شود؛ بنابراین، مدیریت نسخهها تنها یک کار ظاهری نیست. این مباحث برای توسعهدهندگانی مفیدند که پکیجهای مشترک میسازند یا مسئول بهروزرسانی وابستگیهای یک پروژه .NET هستند و باید میان دریافت اصلاحات جدید و حفظ سازگاری تعادل برقرار کنند.
سرفصل مطالب آموزش ویدئویی مدیریت نوگت پکیج ها (Nuget Package) در ویژوال استودیو
فصل اول: مقدمه دوره آموزشی- مقدمه دوره آموزشی
- مقدمه
- آموزش عملی: کار کردن با پکیج ها در ویژوال استودیو 2022
- استفاده کردن از پکیج ها چه چیزی را امکان پذیر می کند؟
- آموزش عملی: ایجاد کردن یک Package Dependency
- کار کردن با Private Package ها در پروژه ها
- آموزش عملی: کار کردن با Package Repository ها
- جمع بندی
- معرفی کردن Semantic Versioning
- استفاده کردن از Semantic Versioning
- حل کردن چالش های Semantic Versioning
- آموزش عملی: پیاده سازی Semantic Versioning
- جمع بندی موضوعات مربوط به Semantic Versioning
- جمع بندی
- آموزش عملی: ایجاد کردن ورژن های یک پکیج
- بررسی کردن Binding Redirect ها
- مدیریت کردن و Restore کردن Package Reference ها
- آموزش عملی: Restore کردن پکیج ها
- پیاده سازی امنیت در پکیج ها
- ارتباط پکیج ها و Version Control
- آموزش عملی: Version Control کردن یک پکیج
- جمع بندی
- مقدمه
- بررسی فرمت های دیگر پکیج ها
- آموزش عملی: مدیریت کردن پکیج ها در Node
- کار کردن با Python در ویژوال استودیو
- آموزش عملی: Restore کردن فرمت های دیگر پکیج ها
- جمع بندی دوره آموزشی







