Menginstal dan mengelola paket di Visual Studio menggunakan NuGet Package Manager

UI Pengelola Paket NuGet di Visual Studio pada Windows memungkinkan Anda untuk dengan mudah menginstal, menghapus, dan memperbarui paket NuGet dalam proyek dan solusi. Untuk pengalaman di Visual Studio untuk Mac, lihat Menyertakan paket NuGet di proyek Anda. UI Pengelola Paket tidak disertakan dengan Visual Studio Code.

Catatan

Jika Anda kehilangan Manajer Paket NuGet di Visual Studio 2015, periksa Ekstensi dan Pembaruan Alat>... dan cari ekstensi NuGet Package Manager. Jika Anda tidak dapat menggunakan alat penginstal ekstensi di Visual Studio, unduh ekstensi langsung dari https://dist.nuget.org/index.html.

Mulai Visual Studio 2017, NuGet dan NuGet Package Manager secara otomatis diinstal dengan apa pun. Beban kerja terkait NET. Instal satu per satu dengan memilih opsi Pengelola paket NuGet alat > Kode komponen individual di alat penginstal > Visual Studio.

Menemukan dan menginstal paket

  1. Di Penjelajah Solusi, klik kanan Referensi atau proyek dan pilih Kelola Paket NuGet....

    Manage NuGet Packages menu option

  2. Tab Telusuri menampilkan paket berdasarkan popularitas dari sumber yang saat ini dipilih (lihat sumber paket). Cari paket tertentu menggunakan kotak pencarian di kiri atas. Pilih paket dari daftar untuk menampilkan informasinya, yang juga mengaktifkan tombol Instal bersama dengan drop-down pilihan versi.

    Manage NuGet Packages Dialog Browse tab

  3. Pilih versi yang diinginkan dari menu drop-down dan pilih Instal. Visual Studio menginstal paket dan dependensinya ke dalam proyek. Anda mungkin diminta untuk menerima persyaratan lisensi. Ketika penginstalan selesai, paket yang ditambahkan muncul pada tab Terinstal. Paket juga tercantum dalam simpul Referensi Penjelajah Solusi, menunjukkan bahwa Anda dapat merujuknya dalam proyek dengan using pernyataan.

    References in Solution Explorer

Tip

Untuk menyertakan versi prarilis dalam pencarian, dan untuk membuat versi prarilis tersedia di drop-down versi, pilih opsi Sertakan prarilis .

Catatan

NuGet memiliki dua format di mana proyek dapat menggunakan paket: PackageReference dan packages.config. Default dapat diatur di jendela opsi Visual Studio.

Menghapus instalan paket

  1. Di Penjelajah Solusi, klik kanan Referensi atau proyek yang diinginkan, dan pilih Kelola Paket NuGet....

  2. Pilih tab Terinstal.

  3. Pilih paket yang akan dihapus instalannya (menggunakan pencarian untuk memfilter daftar jika perlu) dan pilih Hapus instalan.

    Uninstalling a package

  4. Perhatikan bahwa kontrol Sertakan prarilis dan Sumber paket tidak berpengaruh saat menghapus instalasi paket.

Memperbarui paket

  1. Di Penjelajah Solusi, klik kanan Referensi atau proyek yang diinginkan, dan pilih Kelola Paket NuGet.... (Dalam proyek situs web, klik kanan folder Bin.)

  2. Pilih tab Pembaruan untuk melihat paket yang memiliki pembaruan yang tersedia dari sumber paket yang dipilih. Pilih Sertakan prarilis untuk menyertakan paket prarilis dalam daftar pembaruan.

  3. Pilih paket yang akan diperbarui, pilih versi yang diinginkan dari menu drop-down di sebelah kanan, dan pilih Perbarui.

    Updating a package

  4. Untuk beberapa paket, tombol Perbarui dinonaktifkan dan muncul pesan yang mengatakan bahwa itu "Direferensikan secara implisit oleh SDK" (atau "AutoReferenced"). Pesan ini menunjukkan bahwa paket adalah bagian dari kerangka kerja atau SDK yang lebih besar dan tidak boleh diperbarui secara independen. (Paket tersebut ditandai secara internal dengan <IsImplicitlyDefined>True</IsImplicitlyDefined>.) Misalnya, Microsoft.NETCore.App adalah bagian dari .NET Core SDK, dan versi paketnya tidak sama dengan versi kerangka kerja runtime yang digunakan oleh aplikasi. Anda perlu memperbarui penginstalan .NET Core Anda untuk mendapatkan versi baru runtime ASP.NET Core dan .NET Core. Lihat dokumen ini untuk detail selengkapnya tentang metapaket dan penerapan versi .NET Core. Ini berlaku untuk paket yang umum digunakan berikut:

    • Microsoft.AspNetCore.All
    • Microsoft.AspNetCore.App
    • Microsoft.NETCore.App
    • NETStandard.Library

    Example package marked as Implicitly references or AutoReferenced

  5. Untuk memperbarui beberapa paket ke versi terbarunya, pilih paket tersebut dalam daftar dan pilih tombol Perbarui di atas daftar.

  6. Anda juga dapat memperbarui paket individual dari tab Terinstal . Dalam hal ini, detail untuk paket menyertakan pemilih versi (tunduk pada opsi Sertakan prarilis ) dan tombol Perbarui .

Mengelola paket untuk solusi

Mengelola paket untuk solusi adalah cara yang nyaman untuk bekerja dengan beberapa proyek secara bersamaan.

  1. Pilih perintah menu Pengelola Paket > NuGet Alat > Kelola Paket NuGet untuk Solusi... , atau klik kanan solusi dan pilih Kelola Paket NuGet...:

    Manage NuGet packages for the solution

  2. Saat mengelola paket untuk solusi, UI memungkinkan Anda memilih proyek yang terpengaruh oleh operasi:

    Project selector when managing packages for the solution

Tab konsolidasi

Pengembang biasanya menganggapnya sebagai praktik buruk untuk menggunakan versi yang berbeda dari paket NuGet yang sama di berbagai proyek dalam solusi yang sama. Ketika Anda memilih untuk mengelola paket untuk solusi, UI Pengelola Paket menyediakan tab Konsolidasi tempat Anda dapat dengan mudah melihat di mana paket dengan nomor versi yang berbeda digunakan oleh proyek yang berbeda dalam solusi:

Package Manager UI Consolidate tab

Dalam contoh ini, proyek ClassLibrary1 menggunakan EntityFramework 6.2.0, sedangkan ConsoleApp1 menggunakan EntityFramework 6.1.0. Untuk mengonsolidasikan versi paket, lakukan hal berikut:

  • Pilih proyek yang akan diperbarui dalam daftar proyek.
  • Pilih versi yang akan digunakan di semua proyek tersebut di kontrol Versi , seperti EntityFramework 6.2.0.
  • Pilih tombol Instal.

Pengelola Paket memasang versi paket yang dipilih ke semua proyek yang dipilih, setelah itu paket tidak muncu lagil pada tab Konsolidasi.

Sumber paket

Untuk mengubah sumber tempat Visual Studio mendapatkan paket, pilih salah satu dari pemilih sumber:

Package source selector in the package manager UI

Untuk mengelola sumber paket:

  1. Pilih ikon Pengaturan di UI Pengelola Paket yang diuraikan di bawah ini atau gunakan perintah Opsi Alat > dan gulir ke NuGet Package Manager:

    Package manager UI settings icon

  2. Pilih simpul Sumber Paket :

    Package Sources options

  3. Untuk menambahkan sumber, pilih +, edit nama, masukkan URL atau jalur di kontrol Sumber , dan pilih Perbarui. Sumber sekarang muncul di menu drop-down pemilih.

  4. Untuk mengubah sumber paket, pilih, lakukan pengeditan di kotak Nama dan Sumber , dan pilih Perbarui.

  5. Untuk menonaktifkan sumber paket, kosongkan kotak di sebelah kiri nama dalam daftar.

  6. Untuk menghapus sumber paket, pilih sumber paket, lalu pilih tombol X .

  7. Menggunakan tombol panah atas dan bawah tidak mengubah urutan prioritas sumber paket. Visual Studio mengabaikan urutan sumber paket, menggunakan paket dari sumber mana pun yang pertama kali merespons permintaan. Untuk informasi selengkapnya, lihat Pemulihan paket.

Tip

Jika sumber paket muncul kembali setelah menghapusnya, sumber paket mungkin tercantum dalam file tingkat komputer atau tingkat NuGet.Config pengguna. Lihat Konfigurasi NuGet umum untuk lokasi file-file ini, lalu hapus sumber dengan mengedit file secara manual atau menggunakan perintah sumber nuget.

Kontrol Opsi manajer paket

Saat paket dipilih, UI Pengelola Paket menampilkan kontrol Opsi kecil yang dapat diperluas di bawah pemilih versi (ditampilkan di sini diciutkan dan diperluas). Perhatikan bahwa untuk beberapa jenis proyek, hanya opsi Tampilkan jendela pratinjau yang disediakan.

Package manager options

Bagian berikut menjelaskan opsi ini.

Perlihatkan jendela pratinjau

Saat dipilih, jendela modal menampilkan dependensi paket yang dipilih sebelum paket diinstal:

Example Preview Dialog

Opsi Instal dan Perbarui

(Tidak tersedia untuk semua jenis proyek.)

Perilaku dependensi mengonfigurasi bagaimana NuGet memutuskan versi paket dependen mana yang akan diinstal:

  • Abaikan dependensi melompati penginstalan dependensi apa pun, yang biasanya merusak paket yang diinstal.
  • Terendah [Default] menginstal dependensi dengan nomor versi minimal yang memenuhi persyaratan paket utama yang dipilih.
  • Patch tertinggi menginstal versi dengan nomor versi mayor dan minor yang sama, tetapi nomor patch tertinggi. Misalnya, jika versi 1.2.2 ditentukan, maka versi tertinggi yang dimulai dengan 1.2 akan diinstal
  • Minor Tertinggi menginstal versi dengan nomor versi utama yang sama tetapi angka minor dan nomor patch tertinggi. Jika versi 1.2.2 ditentukan, maka versi tertinggi yang dimulai dengan 1 akan diinstal
  • Tertinggi menginstal versi paket tertinggi yang tersedia.

Tindakan konflik file menentukan bagaimana NuGet harus menangani paket yang sudah ada di proyek atau komputer lokal:

  • Prompt menginstruksikan NuGet untuk menanyakan apakah akan menyimpan atau menimpa paket yang ada.
  • Abaikan Semua menginstruksikan NuGet untuk melewati penimpaan paket yang ada.
  • Timpa Semua menginstruksikan NuGet untuk menimpa paket yang ada.

Opsi Hapus Instalan

(Tidak tersedia untuk semua jenis proyek.)

Hapus dependensi: saat dipilih, menghapus paket dependen apa pun jika tidak direferensikan di tempat lain dalam proyek.

Hapus instalan paksa meskipun ada dependensi di dalamnya: saat dipilih, hapus instalan paket meskipun masih dirujuk dalam proyek. Ini biasanya digunakan dalam kombinasi dengan Hapus dependensi untuk menghapus paket dan dependensi apa pun yang diinstalnya. Namun, menggunakan opsi ini dapat menyebabkan referensi rusak dalam proyek. Dalam kasus seperti itu, Anda mungkin perlu menginstal ulang paket lain tersebut.