Visual Studio Paket Yöneticisi Konsolu (PowerShell) ile paketleri yönetme

Visual Studio'daki Paket Yöneticisi Konsolu, NuGet paketleriyle etkileşime geçmek için PowerShell komutlarını kullanır. Paket Yöneticisi kullanıcı arabirimi aracılığıyla işlem gerçekleştirmenin hiçbir yolu olmadığında konsolunu kullanabilirsiniz. Konsolunda dotnet CLI veya NuGet CLI komutlarını da kullanabilirsiniz.

Bu makalede, Paket Yöneticisi Konsolu'nda PowerShell komutlarıyla NuGet paketlerini bulma, yükleme, güncelleştirme ve kaldırma işlemleri açıklanır. Paket Yöneticisi Konsolu PowerShell komut başvurusunun tamamı için bkz. PowerShell başvurusu.

Önemli

Bu makaledeki PowerShell komutları ve bağımsız değişkenleri Visual Studio Paket Yöneticisi Konsolu'na özeldir. Bu komutlar, genel bir PowerShell ortamında kullanabileceğiniz PackageManagement modülü komutlarından farklıdır. Her ortamın diğerinde bulunmayan komutları vardır ve aynı ada sahip komutlar kendi bağımsız değişkenlerinde farklılık gösterebilir.

Konsol kullanılabilirliği

Visual Studio 2017'den başlayarak, herhangi bir oluşturduğunuzda NuGet ve NuGet Paket Yöneticisi otomatik olarak yüklenir. Visual Studio'da NET ile ilgili iş yükleri. Visual Studio Yükleyicisi Tek tek bileşenler>Kod araçları>NuGet paket yöneticisi'ni seçerek de Paket Yöneticisi yükleyebilirsiniz.

NuGet Paket Yöneticisi uzantısını Araçlar>Uzantıları ve Güncelleştirmeler veya Uzantılar menüleri altında da arayabilirsiniz. Visual Studio'da uzantı yükleyicisini kullanamıyorsanız, uzantıyı doğrudan adresinden https://dist.nuget.org/index.htmlindirebilirsiniz.

Paket Yöneticisi Konsolu, Windows üzerinde Visual Studio için Paket Yöneticisi yerleşik olarak bulunur. Visual Studio Code ve Mac için Visual Studio konsolu içermez. Mac için Visual Studio NuGet paketlerini yönetmek için bir kullanıcı arabirimi vardır ve eşdeğer konsol komutları NuGet CLI. Daha fazla bilgi için bkz. Mac için Visual Studio'da NuGet paketlerini yükleme ve yönetme.

Paketi hızlı bir şekilde bulma ve yükleme

Paket Yöneticisi Konsolu'nu kullanarak bir paketi hızla bulup yüklemek için:

  1. Projenizi veya çözümünüzü Visual Studio'da açın ve Araçlar>NuGet Paket Yöneticisi> Paket Yöneticisi Konsolu'nu seçerek Paket Yöneticisi Konsolu penceresini açın.

  2. Konsolda, yüklemek istediğiniz paketi bulmak için bir anahtar sözcükle girin Find-Package . Örneğin, anahtar sözcüğünü elmahiçeren paketleri bulmak için aşağıdaki komutu çalıştırın. İstediğiniz paket adını zaten biliyorsanız bu adımı atlayın.

    Find-Package elmah
    
  3. Adı bulduğunuzda, paketini yüklemek için komutunu kullanın Install-Package . Örneğin, paketi yüklemek Elmah.MVC için şunu girin:

    Install-Package Elmah.MVC
    

Bu komutlar hakkında daha fazla ayrıntı için Paket bulma ve Paket yükleme bölümlerine bakın.

İpucu

Birçok konsol işlemi, Visual Studio'da bilinen yol adı açık olan bir çözümün bulunmasına bağlıdır. Kaydedilmemiş bir çözümünüz varsa veya çözüm yoksa Çözüm açılmadı veya kaydedilmedi hatasını görürsünüz. Lütfen açık ve kaydedilmiş bir çözüme sahip olduğunuzdan emin olun. Hatayı düzeltmek için bir çözüm oluşturup kaydedin veya kaydedilmemiş bir çözümü kaydedin.

Konsol denetimleri

Visual Studio'da Paket Yöneticisi Konsolu'nu açmak için üstteki menüden Araçlar>NuGet Paket Yöneticisi> Paket Yöneticisi Konsolu'nu seçin. Konsol, istediğiniz gibi yerleştirebileceğiniz ve konumlandırabileceğiniz bir Visual Studio penceresidir. Daha fazla bilgi için bkz . Visual Studio'da pencere düzenlerini özelleştirme.

Varsayılan olarak, konsol komutları pencerenin üst kısmındaki denetimlerde gösterilen belirli paket kaynağı ve projesinde çalışır:

Screenshot that shows the Package Manager Console controls for package source and project.

Farklı bir paket kaynağı veya projesi seçildiğinde, sonraki komutlar için varsayılan değerler değişir. Varsayılanları değiştirmeden tek komutlar için bu ayarları geçersiz kılmak için çoğu konsol komutu destek -Source ve -ProjectName seçenekleri destekler.

Paket kaynaklarını yönetmek için Araçlar>Seçenekleri>NuGet Paket Yöneticisi> Paket Kaynakları iletişim kutusunu açan dişli simgesini seçin. Proje seçicisinin yanındaki denetim konsolun içeriğini temizler.

Screenshot that shows the Package Manager Console settings and clear controls.

En sağdaki düğme uzun süre çalışan bir komutu kesintiye uğratır. Örneğin, çalıştırma Get-Package -ListAvailable -PageSize 500 işlemi varsayılan kaynakta bulunan nuget.org gibi birkaç dakika sürebilecek en iyi 500 paketi listeler.

Screenshot that shows the Package Manager Console stop control.

Paketi bulma

Varsayılan kaynakta bir paket bulmak için Bul-Paket'i kullanın.

  • Belirli anahtar sözcükleri içeren paketleri bulmak ve listelemek için:

    Find-Package <keyword1>
    Find-Package <keyword2>
    
  • Adı bir dizeyle başlayan paketleri bulmak ve listelemek için:

    Find-Package <string> -StartWith
    
  • Varsayılan olarak, Find-Package 20 paketin listesini döndürür. Daha fazla paket göstermek için kullanın -First . Örneğin, ilk 100 paketi göstermek için şunu kullanın:

    Find-Package <keyword> -First 100
    
  • Belirli bir paketin tüm sürümlerini listelemek için:

    Find-Package <PackageName> -AllVersions -ExactMatch
    

Paketi yükleme

Bir paketi varsayılan projeye yüklemek için kullanın Install-Package <PackageName>. Paket Yükle konsolu komutu aşağıdaki eylemleri gerçekleştirir:

  • NuGet paketi yüklendiğinde ne olur? içindeki adımları uygular.
  • Konsol penceresinde geçerli lisans koşullarını örtük sözleşmeyle birlikte görüntüler. Koşulları kabul etmiyorsanız paketi kaldırmanız gerekir.
  • Proje dosyasındaki ve Çözüm Gezgini içindeki pakete Başvurular düğümü altında bir başvuru ekler. Değişiklikleri proje dosyasında görebilmek için önce projeyi kaydetmeniz gerekir.

Varsayılan olarak, Install-Package paketi konsol penceresinin belirttiği varsayılan projeye ekler. Paketi varsayılan olmayan bir projeye eklemek için seçeneğini kullanın -ProjectName . Örneğin, paketi varsayılan UtilitiesLib olmayan projeye eklemek Elmah.MVC için aşağıdaki komutu çalıştırın:

Install-Package Elmah.MVC -ProjectName UtilitiesLib

Paketi kaldırma

Bir paketi varsayılan projeden kaldırmak için kullanın Uninstall-Package <PackageName>. Paket adını bulmanız gerekiyorsa, varsayılan projede yüklü olan tüm paketleri görmek için Get-Package kullanın.

Uninstall-Package aşağıdaki eylemleri gerçekleştirir:

  • Paket başvurularını projeden ve tüm yönetim biçimlerinden kaldırır. Başvurular artık Çözüm Gezgini görünmüyor. Bin klasöründeki başvuruyu kaldırmak için projeyi yeniden oluşturmanız gerekebilir.
  • app.config veya web.config dosyasında yapılan paketi yükleyen değişiklikleri tersine çevirir.
  • Daha önce yüklenmiş olan bağımlılıkları, kalan hiçbir paket bu bağımlılıkları kullanmıyorsa kaldırır.

Bir paketi ve kullanılmayan tüm bağımlılıklarını kaldırmak için şunu çalıştırın:

Uninstall-Package <PackageName> -RemoveDependencies

Başka paketler bağımlı olsa bile bir paketi kaldırmak için şunu çalıştırın:

Uninstall-Package <PackageName> -Force

Paketi güncelleştirme

Paketi güncelleştirmek için Get-Package ve Update-Package kullanın. Aşağıdaki komutları çalıştırabilirsiniz:

  • Yüklü paketler için daha yeni sürümler olup olmadığını denetlemek için:

    Get-Package -updates
    
  • Belirli bir paketi güncelleştirmek için:

    Update-Package <PackageName>
    
  • Projedeki tüm paketleri güncelleştirmek için:

    Update-Package -ProjectName <ProjectName>
    
  • Çözümdeki tüm paketleri güncelleştirmek için:

    Update-Package
    

Konsolda NuGet CLI'yi kullanma

Konsol işlemlerinin çoğunu NuGet CLI ile de yapabilirsiniz. Ancak, PowerShell konsol komutları Visual Studio tarafından kaydedilen proje ve çözüm bağlamında çalışır ve genellikle eşdeğer NuGet CLI komutlarından daha fazlasını yapar. Örneğin, aracılığıyla Install-Package bir paket yüklemek proje dosyasına bir başvuru ekler, ancak NuGet CLI komutu eklemez. Bu nedenle Visual Studio'da çalışan geliştiriciler genellikle NuGet CLI yerine konsol komutlarını kullanmayı tercih eder.

Paket Yöneticisi Konsolu'nda NuGet CLI komutlarını kullanmak için NuGet.CommandLine paketini yükleyin.

Install-Package NuGet.CommandLine

Yukarıdaki komut, NuGet CLI'nın en son sürümünü yükler. Belirli bir sürümü yüklemek için seçeneğini kullanın -Version . Örneğin, Sürüm 4.4.1'i yüklemek için şunu girin:

Install-Package NuGet.CommandLine -Version 4.4.1

Paketi yükledikten NuGet.CommandLine sonra, Paket Yöneticisi Konsolu aracılığıyla tüm NuGet CLI komutlarını çalıştırabilirsiniz.

Paket Yöneticisi Konsolunu Genişletme

Bazı paketler konsol için yeni komutlar yükler. Örneğin, MvcScaffolding ASP.NET MVC denetleyicileri ve görünümleri oluşturan gibi Scaffoldkomutlar oluşturur:

Screenshot that shows NuGet CLI commands available after installing the NuGet.CommandLine package.

NuGet PowerShell profili ayarlama

Sık kullanılan komutlarınızı tüm PowerShell bağlamlarında kullanılabilir hale getirmek için bir PowerShell profili oluşturabilirsiniz, böylece oturumlar arasında PowerShell ayarlarınızı kaybetmezsiniz. NuGet, genellikle %UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1 konumundaki NuGet'e özgü bir profili destekler.

Kullanıcı profili konumunuzu bulmak için konsola şunu girin $profile :

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

Bir profilin bu konumda mevcut olup olmadığını belirlemek için girin test-path $profile. Komut döndürürse False, o konumda belirtilen ada sahip profili oluşturmanız gerekir. Daha fazla bilgi için bkz . Windows PowerShell Profilleri.

Sonraki adımlar