انتشار پکیج های Nuget در NET Core.

در این مقاله نحوه ی انتشار Nuget Packages در .NET Core بررسی خواهیم کرد. بنابراین ابتدا تنظیمات اولیه برای این کار را توضیح خواهیم داد و سپس ساخت یک پکیج را آموزش خواهیم داد و کد مربوط به آن را بررسی خواهیم داد و نهایتا نحوه ی انتشار این پکیج را بررسی خواهیم کرد.

انتشار پکیج های Nuget در NET Core.

مشکل

چگونه NuGet package را در NET Core. بسازیم و انتشار دهیم؟

راه حل

راه اندازی اولیه تنظیمات اولیه ی registry برای هاست پکیج هاست. ما از nuget.org استفاده می کنیم.

یک حساب کاربری جدید در www.nuget.org بسازید و به قسمت “API Keys” در حساب کاربری خود بروید.

یک کلید جدید با دادن نام ، دامنه ها(مجوز ها)، و انتخاب پکیج ها(* یعنی همه) بسازید.

شما یک کلید جدید اضافه شده خواهید دید. کلید را با کلیک کردن روی لینک “Copy” کپی کنید و آن را در جایی امن paste کنید.

حال که شما یک registry و کلید برای آپلود پکیج خود دارید حال اجازه دهید که یک پکیج بسازیم و آن را منتشر کنیم در اینجا از یک class library ساده ی NET Core. که برای کار با فایل CSV نوشته ایم استفاده خواهیم کرد. source code را می توانید در GitHub پیدا کنید. البته می توانید از هرکدام از پروژه های خود نیز استفاده کنید.

یک Command Prompt در دایرکتوری پروژه ی خود باز کنید.

دستور dotnet pack  را برای ساخت یک NuGet package اجرا کنید (این دستور به صورت پیش فرض پروژه را نیز build خواهد کرد)

dotnet pack -o publish -c Release --version-suffix alpha  

گزینه هایی که استفاده شده عبارت است از:

-o مسیری است که پکیج در آنجا ساخته شده.

-c پیکربندی build را مشخص می کند.

version-suffix—مشخص میکند که این نسخه پیش انتشار است. می توانید این قسمت را در نسخه ی نهایی خود حذف کنید.

حال شما NuGet package را به صورت ساخته شده در پوشه ی publish خواهید داشت.

دستور dotnet nuget push را برای آپلود NuGet package در nuget.org اجرا کنید.

dotnet nuget push Fiver.Lib.Csv.1.0.0-alpha.nupkg -s https://www.nuget.org -k <api-key>

گزینه های استفاده شده:

-s URL سرور جایی که شما پکیج های خود را آپلود می کنید را مشخص می کند.

-k کلید API که شما در سرور تعریف کرده اید را مشخص می کند.

حال اگر به وبسایت NuGet مراجعه کنید پکیج خود را خواهید یافت.

شما همچنین می توانید سایر ویژگی ها را در csproj. مشخص کنید که می توانید metadata را به NuGet package اضافه کنید برای مثال:

<PropertyGroup>  
   <Authors>Tahir Naushad</Authors>  
   <Title>CSV Reader/Writer Library</Title>  
   <Description>This is a library that makes reading and writing CSV files easy</Description>  
   <VersionPrefix>1.0.1</VersionPrefix>  
   <VersionSuffix>beta</VersionSuffix>  
 </PropertyGroup>  

دوباره دستور dotnet pack را اجرا کنید برای دیدن ویژگی ها پکیج را در NuGet Package Explorer باز کنید.

برای اطلاعات بیشتر از ویژگی های گوناگون که می توانید تنظیم کنید اینجا را مشاهده کنید.