Bagikan melalui


Cara membuat paket NuGet dengan .NET CLI

Catatan

Berikut ini memperlihatkan sampel baris perintah menggunakan Unix. dotnet pack Perintah seperti yang ditunjukkan di sini bekerja dengan cara yang sama pada Windows.

Pustaka .NET Standard dan .NET Core diharapkan didistribusikan sebagai paket NuGet. Ini sebenarnya bagaimana semua pustaka .NET Standard didistribusikan dan digunakan. Ini paling mudah dilakukan dengan dotnet pack perintah .

Bayangkan Anda hanya menulis pustaka baru yang luar biasa yang ingin Anda distribusikan melalui NuGet. Anda dapat membuat paket NuGet dengan alat lintas platform untuk melakukan hal itu! Contoh berikut mengasumsikan pustaka yang disebut SuperAwesomeLibrary yang menargetkan netstandard1.0.

Jika Anda memiliki dependensi transitif, yaitu proyek yang bergantung pada paket lain, pastikan untuk memulihkan paket untuk seluruh solusi dengan dotnet restore perintah sebelum Anda membuat paket NuGet. Gagal melakukannya akan mengakibatkan dotnet pack perintah tidak berfungsi dengan baik.

Anda tidak harus menjalankan dotnet restore karena dijalankan secara implisit oleh semua perintah yang memerlukan terjadinya pemulihan, seperti dotnet new, dotnet build, dotnet run, dotnet test, dotnet publish, dan dotnet pack. Untuk menonaktifkan pemulihan implisit, gunakan opsi --no-restore.

Perintah dotnet restore masih berguna dalam skenario tertentu di mana pemulihan secara eksplisit masuk akal, seperti pembangunan integrasi berkelanjutan di Azure DevOps Services atau dalam sistem pembangunan yang perlu secara eksplisit mengontrol saat pemulihan terjadi.

Untuk informasi tentang cara mengelola umpan NuGet, lihat dotnet restore dokumentasi.

Setelah memastikan paket dipulihkan, Anda dapat menavigasi ke direktori tempat pustaka berada:

cd src/SuperAwesomeLibrary

Kemudian hanya satu perintah dari baris perintah:

dotnet pack

Folder /bin/Debug Anda sekarang akan terlihat seperti ini:

$ ls bin/Debug
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg

Ini menghasilkan paket yang mampu di-debug. Jika Anda ingin membuat paket NuGet dengan biner rilis, yang perlu Anda lakukan adalah menambahkan --configuration sakelar (atau -c) dan gunakan release sebagai argumen.

dotnet pack --configuration release

Folder /bin Anda sekarang akan memiliki folder rilis yang berisi paket NuGet Anda dengan biner rilis:

$ ls bin/release
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg

Dan sekarang Anda memiliki file yang diperlukan untuk menerbitkan paket NuGet!

Jangan bingung dotnet pack dengan dotnet publish

Penting untuk dicatat bahwa tidak ada gunanya adalah perintah yang dotnet publish terlibat. Perintahnya dotnet publish adalah untuk menyebarkan aplikasi dengan semua dependensinya dalam bundel yang sama -- bukan untuk menghasilkan paket NuGet yang akan didistribusikan dan dikonsumsi melalui NuGet.

Lihat juga