Mengelola paket dengan Konsol Manajer Paket Visual Studio (PowerShell)

Package Manager Console di Visual Studio menggunakan perintah PowerShell untuk berinteraksi dengan paket NuGet. Anda dapat menggunakan konsol saat tidak ada cara untuk melakukan operasi melalui UI Manajer Paket. Anda juga dapat menggunakan perintah antarmuka baris perintah (CLI) dotnet atau NuGet CLI di konsol.

Artikel ini menjelaskan cara menemukan, menginstal, memperbarui, dan menghapus instalan paket NuGet dengan menggunakan perintah PowerShell di Package Manager Console. Untuk referensi perintah Package Manager Console PowerShell lengkap, lihat Referensi PowerShell.

Penting

Perintah dan argumen PowerShell dalam artikel ini khusus untuk Konsol Manajer Paket Visual Studio. Perintah ini berbeda dari perintah modul PackageManagement yang dapat Anda gunakan di lingkungan PowerShell umum. Setiap lingkungan memiliki perintah yang tidak tersedia di lingkungan lain, dan perintah dengan nama yang sama mungkin berbeda dalam argumen spesifiknya.

Ketersediaan konsol

Mulai dari Visual Studio 2017, NuGet dan NuGet Package Manager akan terpasang secara otomatis ketika Anda membuat beban kerja terkait .NET di Visual Studio. Anda juga dapat menginstal Manajer Paket dengan menggunakan Alat Penginstal Visual Studio. Di penginstal, pilih Komponen individual>Alat kode>Pengelola paket NuGet.

Anda juga dapat mencari ekstensi NuGet Package Manager di Visual Studio di bawah > menuEkstensi alat dan Pembaruan atau Ekstensi. Jika Anda tidak dapat menggunakan alat penginstal ekstensi di Visual Studio, Anda dapat mengunduh ekstensi langsung dari https://www.nuget.org/downloads.

Konsol Manajer Paket dibangun ke dalam Manajer Paket untuk Visual Studio di Windows. Visual Studio Code tidak menyertakan konsol, tetapi Anda dapat menggunakan ekstensi C# Dev Kit untuk mengelola paket NuGet. Dengan ekstensi ini, Anda dapat menjalankan perintah di penjelajah solusi C# Dev Kit atau di Palet Perintah Visual Studio Code. Untuk informasi selengkapnya, lihat NuGet di Visual Studio Code.

Menemukan dan menginstal paket dengan cepat

Untuk menggunakan Konsol Manajer Paket untuk menemukan dan menginstal paket dengan cepat, lakukan langkah-langkah berikut:

  1. Buka proyek atau solusi Anda di Visual Studio, dan pilih Alat>NuGet Package Manager> Console untuk membuka jendela Package Manager Console.

  2. Di konsol, jalankan Find-Package perintah dengan kata kunci untuk menemukan paket yang ingin Anda instal. Misalnya, untuk menemukan paket yang menyediakan modul pengelogan kesalahan dan handler (ELMAH), jalankan perintah berikut untuk mencari kata kunci elmah. Jika Anda sudah mengetahui nama paket yang Anda inginkan, lewati langkah ini.

    Find-Package elmah
    
  3. Setelah Anda menemukan paket, jalankan Install-Package perintah dengan ID paket untuk menginstal paket. Misalnya, untuk menginstal Elmah.MVC paket, jalankan perintah berikut:

    Install-Package Elmah.MVC
    

Untuk detail selengkapnya tentang perintah ini, lihat bagian Temukan paket dan Instal paket .

Petunjuk / Saran

Banyak operasi konsol bergantung pada memiliki solusi dengan nama jalur yang diketahui terbuka di Visual Studio. Jika Anda memiliki solusi yang belum disimpan atau tidak ada solusi, pesan kesalahan muncul tentang tidak memiliki solusi yang terbuka atau disimpan. Untuk memperbaiki kesalahan, buat dan simpan solusi, atau simpan solusi yang belum disimpan.

Menggunakan kontrol konsol

Untuk membuka Konsol Manajer Paket di Visual Studio, buka menu atas, lalu pilih Alat>Konsol Manajer Paket> Paket NuGet. Konsol adalah jendela Visual Studio yang dapat Anda atur dan posisikan sesuka Anda. Untuk informasi selengkapnya, lihat Menyesuaikan tata letak jendela dan mempersonalisasi tab.

Secara default, perintah konsol beroperasi terhadap sumber paket dan proyek tertentu yang ditampilkan dalam kontrol di bagian atas jendela Konsol Manajer Paket:

Cuplikan layar jendela Konsol Manajer Paket. Di bagian atas, daftar Sumber paket dan Proyek default disorot.

Memilih sumber paket atau proyek yang berbeda mengubah default untuk perintah berikutnya. Untuk mengambil alih pengaturan ini untuk satu perintah tanpa mengubah default, sebagian besar perintah konsol mendukung -Source dan -ProjectName opsi.

Untuk mengelola sumber paket, pilih ikon gigi, yang membuka dialogOpsi>Alat>NuGet Package Manager>Package Sources. Untuk menghapus konten konsol, pilih Hapus Konsol , di samping daftar Proyek default .

Cuplikan layar jendela Konsol Manajer Paket. Di dekat bagian atas, dua ikon disorot. Satu menunjukkan ikon roda gigi. Yang lain menunjukkan baris keluaran dan X merah.

Untuk mengganggu perintah yang berjalan lama, pilih Hentikan eksekusi perintah , di samping ikon Hapus Konsol . Misalnya, menjalankan Get-Package -ListAvailable -PageSize 500 akan mencantumkan 500 paket teratas yang tersedia pada sumber default, seperti nuget.org, yang dapat memakan waktu beberapa menit.

Cuplikan layar jendela Konsol Manajer Paket. Di dekat bagian atas, ikon eksekusi perintah Stop, yang terlihat seperti persegi merah, disorot.

Temukan paket

Untuk menemukan paket di sumber default, gunakan Find-Package. Blok kode berikut menunjukkan cara menggunakan parameter untuk menyempurnakan pencarian Anda:

  • Temukan dan cantumkan paket yang berisi kata kunci tertentu:

    Find-Package <keyword>
    
  • Temukan dan cantumkan paket dengan ID yang dimulai dengan string tertentu:

    Find-Package <string> -StartWith
    
  • Tampilkan 100 paket pertama yang berisi kata kunci tertentu:

    Find-Package <keyword> -First 100
    

    Secara default, Find-Package mengembalikan daftar 20 paket. Seperti dalam contoh sebelumnya, Anda dapat menggunakan -First untuk menentukan jumlah paket yang berbeda.

  • Cantumkan semua versi paket tertentu:

    Find-Package <package-name> -AllVersions -ExactMatch
    

Memasang sebuah paket

Untuk menginstal paket ke dalam proyek default, gunakan Install-Package <package-name>. Perintah konsol Install-Package mengambil tindakan berikut:

  • Menjalankan langkah-langkah dalam Apa yang terjadi ketika paket NuGet diinstal.
  • Menampilkan ketentuan lisensi yang berlaku di jendela konsol dengan perjanjian tersirat. Jika Anda tidak menyetujui persyaratan, Anda harus menghapus instalan paket.
  • Menambahkan referensi ke paket dalam file proyek dan di Penjelajah Solusi di bawah simpul Dependensi atau Referensi . Anda harus menyimpan proyek untuk menyebarluaskan perubahan ke file proyek.

Secara default, Install-Package menambahkan paket ke proyek default yang ditentukan jendela konsol. Untuk menambahkan paket ke proyek yang bukan proyek default, gunakan -ProjectName opsi . Misalnya, untuk menambahkan Elmah.MVC paket ke proyek non-default UtilitiesLib , jalankan perintah berikut:

Install-Package Elmah.MVC -ProjectName UtilitiesLib

Copot pemasangan paket

Untuk menghapus instalan paket dari proyek default, gunakan Uninstall-Package <package-name>. Jika Anda perlu menemukan nama paket, gunakan Get-Package untuk mencantumkan semua paket yang diinstal dalam proyek default.

Uninstall-Package mengambil tindakan berikut:

  • Menghapus referensi ke paket dari proyek dan format manajemen apa pun. Referensi tidak lagi muncul di Penjelajah Solusi. Anda mungkin perlu membangun kembali proyek untuk menghapus referensi di folder bin .
  • Mengembalikan konfigurasi app.config atau web.config ke keadaan semula setelah instalasi paket.
  • Menghapus dependensi yang diinstal sebelumnya jika tidak ada paket yang tersisa yang menggunakan dependensi tersebut.

Blok kode berikut menunjukkan kepada Anda cara menggunakan perintah dalam berbagai skenario:

  • Hapus instalan paket dan semua dependensi yang tidak digunakan:

    Uninstall-Package <package-name> -RemoveDependencies
    
  • Hapus instalan paket bahkan jika paket lain bergantung padanya:

    Uninstall-Package <package-name> -Force
    

Memperbarui paket

Untuk memperbarui paket, gunakan Update-Package. Anda juga dapat menggunakan Get-Package untuk mencantumkan pembaruan yang tersedia untuk paket yang diinstal. Blok kode berikut menunjukkan kepada Anda cara menggunakan parameter untuk mengubah cakupan pembaruan:

  • Periksa apakah versi yang lebih baru tersedia untuk paket apa pun yang diinstal dalam solusi:

    Get-Package -updates
    
  • Perbarui paket tertentu:

    Update-Package <package-name>
    
  • Perbarui semua paket dalam proyek:

    Update-Package -ProjectName <project-name>
    
  • Perbarui semua paket dalam solusi:

    Update-Package
    

Menggunakan NuGet CLI di konsol

Anda juga dapat melakukan sebagian besar operasi konsol dengan menggunakan NuGet CLI. Namun, perintah konsol PowerShell beroperasi dalam konteks proyek dan solusi yang disimpan Visual Studio, dan sering melakukan lebih dari perintah NuGet CLI yang setara. Misalnya, menginstal paket melalui Install-Package menambahkan referensi ke file proyek, tetapi perintah NuGet CLI tidak. Untuk alasan ini, pengembang yang bekerja di Visual Studio biasanya lebih suka menggunakan perintah konsol daripada NuGet CLI.

Untuk menggunakan perintah NuGet CLI di Package Manager Console, instal paket NuGet.CommandLine .

Install-Package NuGet.CommandLine

Perintah sebelumnya menginstal versi terbaru NuGet CLI. Untuk menginstal versi tertentu, gunakan -Version opsi . Misalnya, untuk menginstal Versi 4.4.1, gunakan perintah berikut:

Install-Package NuGet.CommandLine -Version 4.4.1

Setelah menginstal NuGet.CommandLine paket, Anda dapat menjalankan semua perintah NuGet CLI melalui Konsol Manajer Paket.

Memperluas Konsol Manajer Paket

Beberapa paket memperluas Konsol Manajer Paket dengan menambahkan perintah. Misalnya, Microsoft.EntityFrameworkCore.Tools paket menambahkan perintah seperti yang berikut ini:

  • Add-Migration: Menghasilkan file migrasi untuk membuat atau memperbarui tabel database
  • Update-Database: Membuat atau memperbarui database sesuai dengan migrasi terbaru

Cuplikan layar jendela Konsol Manajer Paket. Output dari perintah Add-Migration dan Update-Database memperlihatkan database yang sedang dibuat.

Menyiapkan profil NuGet PowerShell

Anda dapat membuat profil PowerShell untuk membuat perintah yang umum digunakan tersedia di semua konteks PowerShell, sehingga Anda tidak kehilangan pengaturan PowerShell antar sesi. NuGet mendukung profil khusus NuGet, biasanya pada %UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1.

Untuk menemukan lokasi profil pengguna Anda, masukkan $profile di konsol:

$profile
C:\Users\<user>\Documents\WindowsPowerShell\NuGet_profile.ps1

Untuk menentukan apakah profil ada di lokasi tersebut, masukkan test-path $profile. Jika perintah mengembalikan False, Anda perlu membuat profil dengan nama yang ditentukan di lokasi tersebut. Untuk informasi selengkapnya, lihat Profil Windows PowerShell.