Bagikan melalui


Menemukan dan mengevaluasi paket NuGet untuk proyek Anda

Saat memulai proyek .NET, atau mengidentifikasi kebutuhan fungsional di aplikasi atau layanan, Anda sering dapat menginstal paket NuGet yang ada untuk menghemat waktu dan masalah dalam membuat paket Anda sendiri. Paket yang ada dapat berasal dari koleksi publik nuget.org , atau dari sumber privat yang disediakan organisasi Anda atau pihak lain.

Temukan paket

Anda dapat menemukan paket langsung di https://nuget.org/packages, atau dari UI Manajer Paket Visual Studio atau Konsol Manajer Paket dengan nuget.org sebagai sumber. Semua paket dari nuget.org secara rutin dipindai untuk virus.

Pada nuget.org/packages, Anda akan melihat daftar paket NuGet dengan paket paling populer di semua proyek .NET yang tercantum terlebih dahulu. Beberapa paket ini mungkin berguna untuk proyek Anda.

Screenshot that shows the default view of nuget.org/packages with the most popular packages at the top.

Untuk mencari paket, masukkan nama paket atau istilah pencarian di kotak Pencarian di bagian atas halaman. Anda dapat menggunakan sintaks pencarian tingkat lanjut untuk memfilter pencarian Anda.

Pemfilteran dan pengurutan tingkat lanjut

Pada nuget.org/packages, Anda dapat memperbaiki hasil pencarian dengan menggunakan opsi pemfilteran dan pengurutan tingkat lanjut.

Screenshot that shows the filtering and sorting options on nuget.org.

Gunakan filter Kerangka Kerja untuk menampilkan paket yang menargetkan kerangka kerja .NET tertentu (Untuk mempelajari lebih lanjut, lihat Kerangka Kerja Target):

  • Memilih salah satu kotak centang pembuatan kerangka kerja .NET akan memfilter hasil pencarian ke paket yang kompatibel dengan salah satu Kerangka Kerja Target individual dalam generasi tersebut. Misalnya, memilih .NET akan mengembalikan paket yang kompatibel dengan salah satu kerangka kerja .NET modern, termasuk net5.0 melalui net8.0.

    Screenshot that shows the Framework filters on nuget.org.

  • Memperluas salah satu generasi kerangka kerja ini dengan panah di sebelah kanan akan menunjukkan kepada Anda Masing-masing Monikers Kerangka Kerja Target (TFM) yang dapat Anda filter hasilnya. Misalnya, memilih net5.0 akan mengembalikan paket yang kompatibel dengan kerangka kerja '.NET 5.0'.

  • Secara default, paket difilter berdasarkan daftar kerangka kerja kompatibel komputasi yang diperluas. Jika Anda ingin memfilter paket murni oleh kerangka kerja aset yang ditargetkan secara eksplisit, batal pilih kotak centang Sertakan kerangka kerja yang kompatibel.

  • Menggabungkan beberapa filter kerangka kerja akan menunjukkan hasil pencarian yang cocok dengan semua filter yang Anda pilih, yaitu paket yang berada di persimpangan pilihan Anda. Misalnya, memilih netcoreapp3.1 dan net45 bersama-sama akan menampilkan paket yang menargetkan '.NET Core 3.1' dan '.NET Framework 4.5'. Memilih kotak centang pembuatan kerangka kerja dan net45 kotak centang bersama-sama akan mengembalikan paket yang menargetkan .NET Core '.NET Framework 4.5', dan setidaknya salah satu TFM '.NET Core' (netcoreapp1.0 melalui netcoreapp3.1).

    • Atau, jika Anda ingin melihat paket yang cocok dengan salah satu filter kerangka kerja Anda, pilih tombol radio Apa pun pada opsi Mode Filter Kerangka Kerja. Sekarang, memilih netcoreapp3.1 dan net5.0 akan menampilkan paket yang menargetkan '.NET Core 3.1' atau '.NET 5.0'. Memilih kotak netcoreapp3.1 centang dan .NET kotak centang pembuatan kerangka kerja bersama-sama akan mengembalikan paket yang menargetkan '.NET Core 3.1' atau salah satu dari '. TFM NET ' (net5.0 melalui net8.0).
  • Anda dapat mempelajari lebih lanjut tentang cara mengevaluasi kerangka kerja paket yang didukung dan kompatibilitasnya dengan proyek Anda di sini.

Gunakan filter Jenis paket untuk menampilkan paket jenis tertentu:

  • Semua jenis adalah default dan menunjukkan semua paket terlepas dari jenisnya.
  • Filter dependensi ke paket NuGet reguler yang dapat Anda instal ke dalam proyek Anda.
  • Alat .NET memfilter ke paket alat .NET yang berisi aplikasi konsol.
  • Filter templat ke templat .NET yang bisa Anda gunakan untuk membuat proyek baru dengan perintah baru dotnet.

Secara default, NuGet mencantumkan semua versi paket, termasuk versi prarilis dan beta. Di bagian Opsi , batal pilih kotak centang Sertakan prarilis untuk mencantumkan hanya versi paket yang stabil dan dirilis.

Untuk menerapkan perubahan, pilih Terapkan. Untuk kembali ke default, pilih Reset.

Gunakan menu dropdown Urutkan menurut di kanan atas halaman untuk mengurutkan daftar menurut beberapa kriteria:

  • Relevansi adalah default, dan mengurutkan hasil sesuai dengan algoritma penilaian internal.
  • Unduhan mengurutkan hasil pencarian berdasarkan jumlah total unduhan, dalam urutan turun.
  • Baru-baru ini diperbarui mengurutkan hasil pencarian berdasarkan tanggal pembuatan versi paket terbaru, dalam urutan kronologis turun.

Sintaks pencarian

Kueri pencarian paket di nuget.org, dari NuGet CLI, dan dari dalam Visual Studio semuanya menggunakan sintaks yang sama. Sumber paket lainnya, seperti Artefak Azure atau Repositori Paket GitHub, mungkin menggunakan sintaks yang berbeda atau mungkin tidak mendukung pemfilteran tingkat lanjut.

  • Anda dapat mencari paket id, , packageidversion, title, , tagsauthor, description, summary, atau owner properti dengan menggunakan sintaks <property>:<term>.

  • Pencarian berlaku untuk kata kunci dan deskripsi, dan tidak peka huruf besar/kecil. Misalnya, string berikut semua mencari id properti untuk string nuget.core:

    id:NuGet.Core
    ID:nuget.core
    Id:NUGET.CORE

  • Pencarian pada properti cocok dengan id substring, sementara packageid dan owner gunakan kecocokan yang tepat dan tidak peka huruf besar/kecil. Contohnya:

    PackageId:jquery mencari ID jquerypaket yang tepat .
    Id:jquery mencari semua ID paket yang berisi string jquery.

  • Anda dapat mencari beberapa nilai atau properti secara bersamaan. Contohnya:

    id:jquery id:ui mencari beberapa istilah dalam id properti.
    id:jquery tags:validation mencari beberapa properti.

  • Pencarian mengabaikan properti yang tidak didukung, jadi invalid:jquery ui sama dengan mencari ui, dan invalid:jquery mengembalikan semua paket.

Menentukan kerangka kerja yang didukung

NuGet menginstal paket ke dalam proyek hanya jika kerangka kerja .NET yang didukung paket menyertakan kerangka kerja target proyek. Jika paket tidak kompatibel, NuGet akan mengeluarkan kesalahan.

Ada beberapa cara untuk menentukan kerangka kerja yang didukung paket:

  • Pada halaman pencarian, kerangka kerja paket yang didukung akan muncul sebagai lencana di bawah ID paket. Lencana ini menunjukkan versi kerangka kerja terendah yang didukung dari generasi .NET, .NET Core, .NET Standard, dan .NET Framework . Paket akan kompatibel dengan versi kerangka kerja apa pun yang sama dengan atau lebih tinggi dari versi lencana yang ditampilkan.

    Lencana 'Biru tua' mewakili kerangka kerja yang ditargetkan secara eksplisit, sementara lencana 'biru muda' mewakili kerangka kerja yang kompatibel dengan komputasi.

    Mengklik lencana akan mengarahkan Anda ke halaman detail paket di nuget.org. Tab Kerangka Kerja di halaman paket akan menampilkan daftar lengkap kerangka kerja yang didukung.

    Screenshot of the Framework badges on nuget.org's search page.

  • Pada halaman paket di nuget.org, kerangka kerja yang didukung muncul di bawah ID paket dan pada tab Kerangka Kerja , tetapi tidak semua paket menampilkan kerangka kerja yang didukung.

    Screenshot of the Frameworks UI and tab on the package page at nuget.org.

  • Unduh paket secara manual dengan memilih Unduh paket di bawah Tentang. Ubah ekstensi file paket yang diunduh dari .nupkg ke .zip, buka folder .zip, dan periksa folder lib-nya. Ada subfolder untuk setiap kerangka kerja yang didukung, masing-masing dinamai dengan moniker kerangka kerja target (TFM). Untuk informasi selengkapnya, lihat Kerangka Kerja Target. Jika tidak ada subfolder di bawah lib dan hanya ada satu DLL, coba instal paket untuk menemukan kompatibilitasnya.

  • Cobalah untuk menginstal paket ke dalam proyek dengan menggunakan Install-Package di Konsol Manajer Paket Visual Studio. Jika paket tidak kompatibel, output konsol menunjukkan kerangka kerja paket yang didukung.

Paket prarilis

Banyak penulis paket menyediakan pratinjau dan rilis beta saat mereka terus meningkatkan dan mencari umpan balik tentang revisi terbaru. Secara default, nuget.org menunjukkan paket prarilis dalam daftar paket dan hasil pencariannya.

Untuk mencantumkan dan mencari rilis stabil saja:

  • Pada nuget.org, batal pilih kotak centang Sertakan prarilis di panel pencarian tingkat lanjut.
  • Di UI Manajer Paket NuGet Visual Studio, batal pilih kotak centang Sertakan prarilis di samping kotak Pencarian.

Alat Visual Studio Package Manager Console, NuGet CLI, dan dotnet CLI tidak menyertakan versi prarilis secara default. Untuk menyertakan versi prarilis:

  • Di Konsol Manajer Paket, gunakan sakelar -IncludePrerelease dengan perintah , , Install-PackageGet-Package, Sync-Package, dan Update-PackageFind-Package. Untuk informasi selengkapnya, lihat Referensi PowerShell.

  • Untuk NuGet CLI, gunakan sakelar dengan perintah , , deleteupdate, dan mirror .install-prerelease Untuk informasi selengkapnya, lihat referensi NuGet CLI.

  • Untuk CLI dotnet, tentukan versi prarilis dengan -v argumen . Untuk informasi selengkapnya, lihat referensi tambahkan paket dotnet.

Paket C++ asli

Proyek Visual Studio C++ dapat menggunakan paket C++ NuGet asli. Menginstal paket ini memungkinkan perintah Kelola menu konteks Paket NuGet, mengekspos native kerangka kerja target, dan menyediakan integrasi MSBuild.

Untuk menemukan paket asli di nuget.org/packages, cari dengan menggunakan tag:native. Paket tersebut biasanya menyediakan file .targets dan .props , yang diimpor NuGet secara otomatis saat menambahkan paket.

Mengevaluasi paket

Cara terbaik untuk mengevaluasi kegunaan paket adalah dengan mencobanya. Anda mengambil dependensi pada paket ketika Anda menggunakannya, jadi Anda harus memastikannya kuat dan dapat diandalkan. Namun, menginstal paket dan langsung mengujinya memakan waktu. Anda dapat mempelajari banyak tentang kualitas paket dengan menggunakan informasi di halaman paket di nuget.org/packages.

  • Tanda centang Awalan Yang Dipesan di samping ID paket pada daftar paket dan halaman paket berarti pemilik paket telah mengajukan permohonan dan telah diberikan awalan ID paket yang dipesan. Untuk memenuhi kriteria reservasi awalan ID, pemilik paket harus dengan jelas mengidentifikasi diri mereka sendiri dan paketnya.

    Screenshot that shows Prefix Reserved on a package's page.

  • Unduhan di kolom kanan halaman paket menunjukkan Unduhan rata-rata Total, Versi saat ini, dan Per hari. Jumlah besar menunjukkan bahwa paket telah membuktikan dirinya di antara banyak pengembang.

    Screenshot that shows Download statistics on a package's page.

    Pilih Statistik penuh di samping Unduhan untuk melihat halaman yang menampilkan unduhan paket selama enam minggu terakhir menurut nomor versi. Versi yang digunakan lebih banyak pengembang biasanya merupakan pilihan yang lebih baik.

  • Tab Digunakan Oleh pada halaman paket menunjukkan lima paket nuget.org paling populer dan repositori GitHub yang bergantung pada paket ini. Paket dan repos yang bergantung pada paket ini disebut dependen. Paket dependen dan repos dapat dilihat sebagai mendukung paket ini, karena mereka memilih untuk mempercayai dan bergantung padanya.

    Screenshot that shows the Used By list.

    Versi stabil terbaru dari paket dependen harus bergantung pada versi apa pun dari paket ini. Definisi ini memastikan bahwa paket dependen yang tercantum adalah cerminan terbaru dari keputusan penulis paket untuk dipercaya dan bergantung pada paket. Daftar dependen belum menampilkan dependen prarilis, karena belum dianggap sebagai dukungan seutuhnya. Contoh berikut menunjukkan paket mana yang ditampilkan sebagai dependen:

    Versi paket dependen Paket dependen terdaftar sebagai dependen?
    v1.0.0
    v1.1.0 (stabil terbaru) tergantung pada paket ini
    v1.2.0-preview
    TRUE, versi stabil terbaru tergantung pada paket ini
    v1.0.0 tergantung pada paket ini
    v1.1.0 (stabil terbaru)
    v1.2.0-preview
    FALSE, versi stabil terbaru tidak bergantung pada paket ini
    v1.0.0 tergantung pada paket ini
    v1.1.0 (stabil terbaru)
    v1.2.0-preview tergantung pada paket ini
    FALSE, versi stabil terbaru tidak bergantung pada paket ini

    Jumlah bintang untuk repositori GitHub menunjukkan popularitasnya dengan pengguna GitHub. Untuk informasi selengkapnya tentang bintang GitHub dan sistem peringkat repositori, lihat Tentang bintang.

    Catatan

    Bagian Digunakan Oleh secara otomatis dihasilkan secara berkala, tanpa peninjauan manusia, dan hanya untuk tujuan informasi.

  • Tab Versi pada halaman paket menunjukkan Versi, Unduhan, Tanggal Terakhir Diperbarui, dan kerentanan serius versi paket. Versi yang Anda instal seharusnya tidak memiliki kerentanan tingkat keparahan tinggi. Paket yang dikelola dengan baik memiliki pembaruan terbaru dan riwayat versi yang panjang. Paket yang diabaikan memiliki beberapa pembaruan dan lama.

    Screenshot that shows the Versions list.

Kolom kanan halaman paket memiliki tautan informatif lainnya:

Screenshot that shows the right column of the package page.

  • Pilih Situs web Proyek, jika tersedia, untuk melihat opsi dukungan apa yang disediakan penulis. Proyek dengan situs khusus umumnya didukung dengan baik.

  • Pilih Repositori sumber untuk masuk ke repositori kode sumber Git untuk paket. Banyak penulis mempertahankan paket mereka di repositori sumber terbuka, sehingga pengguna dapat langsung berkontribusi perbaikan bug dan peningkatan fitur. Riwayat kontribusi paket adalah indikator yang baik tentang berapa banyak pengembang yang terlibat secara aktif.

  • Pilih <lisensi jenis> lisensi untuk melihat MIT paket atau lisensi lainnya. Jika paket tidak menentukan persyaratan lisensi, hubungi pemilik paket.

  • Pilih salah satu pemilik paket di bawah Pemilik untuk melihat paket lain yang telah mereka terbitkan. Pemilik dengan beberapa paket lebih mungkin untuk terus mendukung pekerjaan mereka. Pilih Hubungi pemilik di samping Pemilik untuk menjangkau langsung ke pengembang paket.

Mengambil informasi lisensi

Beberapa klien NuGet dan umpan NuGet mungkin tidak dapat menampilkan informasi lisensi. Untuk mempertahankan kompatibilitas mundur dalam kasus seperti itu, URL lisensi menunjuk ke dokumen ini tentang cara mengambil informasi lisensi.

Jika memilih URL lisensi untuk paket akan membawa Anda ke halaman ini, itu menyiratkan paket berisi file lisensi dan:

  • Anda tersambung ke umpan yang tidak tahu cara menginterpretasikan dan menampilkan informasi lisensi kepada klien, atau
  • Anda menggunakan klien yang tidak tahu cara menginterpretasikan dan membaca informasi lisensi yang disediakan umpan, atau
  • Kombinasi dari kedua skenario ini.

Untuk membaca informasi dalam file lisensi di dalam paket:

  1. Unduh paket secara manual, dan buka zip isinya ke folder.
  2. Buka file .nuspec di akar folder.
  3. <license> Periksa tag, seperti <license type="file">license\license.txt</license>. Contoh tag menyatakan bahwa file lisensi diberi nama license.txt dan berada di dalam subfolder yang disebut lisensi.
  4. Navigasi ke lokasi yang ditentukan dan buka file yang ditentukan.

Untuk informasi tentang MSBuild yang setara dengan mengatur lisensi di .nuspec, lihat Mengemas ekspresi lisensi atau file lisensi.

Langkah berikutnya