Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Panduan cepat ini menunjukkan kepada Anda cara membuat paket NuGet dengan cepat dari pustaka kelas .NET dan mempublikasikannya ke nuget.org dengan menggunakan antarmuka baris perintah .NET, atau dotnet CLI.
Prasyarat
SDK .NET, yang menyediakan alat baris perintah dotnet. Mulai Visual Studio 2017, CLI dotnet secara otomatis diinstal dengan beban kerja terkait .NET atau .NET Core.
Akun gratis di nuget.org. Ikuti instruksi di Menambahkan akun individual baru.
Membuat proyek perpustakaan kelas
Anda dapat menggunakan proyek Pustaka Kelas .NET yang sudah ada untuk kode yang ingin Anda kemas, atau membuat proyek sederhana sebagai berikut:
- Buat folder bernama AppLogger.
- Buka perintah dan beralih ke folder AppLogger . Semua perintah CLI dotnet dalam panduan memulai cepat ini berjalan di folder saat ini secara default.
- Masukkan
dotnet new classlib, yang membuat proyek dengan nama folder saat ini.
Untuk informasi selengkapnya, lihat dotnet new.
Menambahkan metadata paket ke file proyek
Setiap paket NuGet memiliki manifes yang menjelaskan konten dan dependensi paket. Dalam paket akhir, manifes adalah file .nuspec , yang menggunakan properti metadata NuGet yang Anda sertakan dalam file proyek.
Buka file proyek .csproj, .fsproj, atau .vbproj , dan tambahkan properti berikut di dalam tag yang ada <PropertyGroup> . Gunakan nilai Anda sendiri untuk nama dan perusahaan, dan ganti pengidentifikasi paket dengan nilai unik.
<PackageId>Contoso.08.28.22.001.Test</PackageId>
<Version>1.0.0</Version>
<Authors>your_name</Authors>
<Company>your_company</Company>
Penting
Pengidentifikasi paket harus unik di seluruh nuget.org dan sumber paket lainnya. Penerbitan membuat paket terlihat secara publik, jadi jika Anda menggunakan contoh pustaka AppLogger atau pustaka pengujian lainnya, gunakan nama unik yang menyertakan Sample atau Test.
Anda dapat menambahkan properti opsional apa pun yang dijelaskan di properti metadata NuGet.
Note
Untuk paket yang Anda bangun untuk konsumsi publik, beri perhatian khusus pada properti PackageTags. Tag membantu orang lain menemukan paket Anda dan memahami apa yang dilakukannya.
Jalankan perintah paket
Untuk membangun paket NuGet atau file .nupkg dari proyek, jalankan perintah paket dotnet , yang juga membangun proyek secara otomatis.
dotnet pack
Output menunjukkan jalur ke file .nupkg :
MSBuild version 17.3.0+92e077650 for .NET
Determining projects to restore...
Restored C:\Users\myname\source\repos\AppLogger\AppLogger.csproj (in 64 ms).
AppLogger -> C:\Users\myname\source\repos\AppLogger\bin\Debug\net6.0\AppLogger.dll
Successfully created package 'C:\Users\myname\source\repos\AppLogger\bin\Debug\Contoso.08.28.22.001.Test.1.0.0.nupkg'.
Membuat paket secara otomatis pada build
Untuk menjalankan dotnet pack secara otomatis setiap kali Anda menjalankan dotnet build, tambahkan baris berikut ke file proyek Anda dalam <PropertyGroup>:
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
Menerbitkan paket
Terbitkan file .nupkg Anda ke nuget.org dengan menggunakan perintah dotnet nuget push dengan kunci API yang Anda dapatkan dari nuget.org.
Note
Nuget.org memindai semua paket yang diunggah untuk virus dan menolak paket apa pun yang berisi virus. Nuget.org juga memindai semua paket terdaftar yang ada secara berkala.
Paket yang Anda terbitkan ke nuget.org dapat dilihat secara publik oleh pengembang lain kecuali Anda membatalkan daftar paket tersebut. Untuk menghosting paket secara privat, lihat Menghosting umpan NuGet Anda sendiri.
Dapatkan kunci API Anda
Masuk ke akun nuget.org Anda atau buat akun jika Anda belum memilikinya.
Di sudut kanan atas, pilih nama pengguna Anda, lalu pilih Kunci API.
Pilih Buat, lalu masukkan nama untuk kunci Anda.
Di bawah Pilih Cakupan, pilih Push.
Di bawah Pilih Paket, untuk Pola Glob, masukkan tanda bintang (*).
Pilih Buat.
Pilih Salin untuk menyalin kunci baru.
Penting
- Selalu rahasiakan kunci API Anda. Kunci API seperti kata sandi yang dapat digunakan siapa pun untuk mengelola paket atas nama Anda. Hapus atau regenerasi kunci API Anda jika tidak sengaja terungkap.
- Simpan kunci Anda di lokasi yang aman, karena Anda tidak dapat menyalin kunci lagi nanti. Jika Anda kembali ke halaman kunci API, Anda perlu meregenerasi kunci untuk menyalinnya. Anda juga dapat menghapus kunci API jika Anda tidak lagi ingin mengirimkan paket.
Cakupan menyediakan cara untuk membuat kunci API terpisah untuk tujuan yang berbeda. Setiap kunci memiliki jangka waktu kedaluwarsa, dan Anda dapat menetapkan cakupan kunci ke paket tertentu atau pola glob tertentu. Anda juga menentukan ruang lingkup setiap kunci ke operasi tertentu: mengunggah paket dan versi paket baru, hanya mengunggah versi paket baru, atau menghapus dari daftar.
Melalui cakupan, Anda dapat membuat kunci API untuk orang yang berbeda yang mengelola paket untuk organisasi Anda sehingga mereka hanya memiliki izin yang mereka butuhkan.
Untuk informasi selengkapnya, lihat Kunci API cakupan.
Publikasikan dengan dotnet nuget push
Dari folder yang berisi file .nupkg , jalankan perintah berikut. Ganti <package-file> dengan nama file .nupkg Anda, dan ganti <API-key> dengan kunci API Anda.
dotnet nuget push <package-file> --api-key <API-key> --source https://api.nuget.org/v3/index.json
Output menunjukkan hasil proses penerbitan:
Pushing <package-file> to 'https://www.nuget.org/api/v2/package'...
PUT https://www.nuget.org/api/v2/package/
Created https://www.nuget.org/api/v2/package/ 2891ms
Your package was pushed.
Untuk informasi selengkapnya, lihat dotnet nuget push.
Kesalahan saat mempublikasikan
Saat menjalankan push perintah, Anda terkadang mengalami kesalahan. Misalnya, Anda mungkin mendapatkan kesalahan dalam situasi berikut:
- Kunci API Anda tidak valid atau kedaluwarsa.
- Anda mencoba menerbitkan paket yang memiliki pengidentifikasi yang sudah ada di host.
- Anda membuat perubahan pada paket yang diterbitkan, tetapi Anda lupa memperbarui nomor versi sebelum mencoba menerbitkannya lagi.
Pesan kesalahan biasanya menunjukkan sumber masalah.
Misalnya, pengidentifikasi Contoso.App.Logger.Test ada di nuget.org. Jika Anda mencoba menerbitkan paket dengan pengidentifikasi tersebut, Anda akan mendapatkan kesalahan berikut:
Response status code does not indicate success: 403 (The specified API key is invalid, has expired, or does not have permission to access the specified package.).
Untuk mengatasi situasi ini, periksa cakupan, tanggal kedaluwarsa, dan nilai kunci API Anda. Jika kunci valid, kesalahan menunjukkan bahwa pengidentifikasi paket sudah ada di host. Untuk mengatasi masalah, ubah pengidentifikasi paket menjadi unik, bangun kembali proyek, buat ulang file .nupkg , dan coba push lagi perintah .
Mengelola paket yang diterbitkan
Ketika paket Anda berhasil diterbitkan, Anda menerima email konfirmasi. Untuk melihat paket yang diterbitkan, buka nuget.org, pilih nama pengguna Anda di sudut kanan atas, lalu pilih Kelola Paket.
Note
Mungkin perlu waktu beberapa saat agar paket Anda diindeks dan muncul di hasil pencarian di mana orang lain dapat menemukannya. Selama waktu tersebut, paket Anda muncul di bawah Paket Tidak Tercantum, dan halaman paket memperlihatkan pesan berikut:
Sekarang setelah paket NuGet Anda diterbitkan di nuget.org, pengembang lain dapat menggunakannya dalam proyek mereka.
Jika Anda membuat paket yang tidak berguna (seperti paket sampel ini dari pustaka kelas kosong), atau jika Anda tidak ingin paket terlihat, Anda dapat membatalkan daftar paket untuk menyembunyikannya dari hasil pencarian:
Setelah paket muncul di bawah Paket yang Diterbitkan pada halaman Kelola Paket, pilih ikon pensil di samping daftar paket.
Pada halaman berikutnya, pilih Daftar, kosongkan kotak centang Daftar di hasil pencarian , lalu pilih Simpan.
Paket sekarang muncul di bawah Paket Tidak Tercantum di Kelola Paket dan tidak lagi muncul di hasil pencarian.
Note
Untuk menghindari paket pengujian Anda dipublikasikan di nuget.org, Anda dapat mengunggahnya ke situs pengujian nuget.org di https://int.nugettest.org. Perhatikan bahwa paket yang diunggah ke int.nugettest.org mungkin tidak akan dipertahankan.
Selamat membuat dan menerbitkan paket NuGet pertama Anda!
Video terkait
Temukan video NuGet lainnya di Channel 9 dan YouTube.
Langkah berikutnya
Lihat detail selengkapnya tentang cara membuat paket dengan CLI dotnet:
Dapatkan informasi selengkapnya tentang membuat dan menerbitkan paket NuGet: