Aracılığıyla paylaş


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çıklanmaktadı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 itibaren, Visual Studio'da herhangi bir .NET ile ilgili iş yükü oluşturduğunuzda, NuGet ve NuGet Paket Yöneticisi otomatik olarak yüklenir. Visual Studio Yükleyicisi'nde Tek tek bileşenler>Kod araçları>NuGet paket yöneticisi'ni seçerek de Paket Yöneticisi'ni yükleyebilirsiniz.

Araç>Uzantıları ve Güncelleştirmeleri veya Uzantılar menüleri altında NuGet Paket Yöneticisi uzantısını 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'ne yerleşiktir. Visual Studio Code ve Mac için Visual Studio konsolu içermez. Mac için Visual Studio'da NuGet paketlerini yönetmeye yönelik bir kullanıcı arabirimi vardır ve eşdeğer konsol komutları NuGet CLI aracılığıyla kullanılabilir. 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, paketi yüklemek için Install-Package komutunu kullanın. Örneğin, Elmah.MVC paketini yüklemek 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.

Tavsiye

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> 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:

Paket kaynağı ve projesi için Paket Yöneticisi Konsolu denetimlerini gösteren ekran görüntüsü.

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.

Paket Yöneticisi Konsolu ayarlarını ve temizleme denetimlerini gösteren ekran görüntüsü.

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

Paket Yöneticisi Konsolu durdurma denetimini gösteren ekran görüntüsü.

Paket 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
    

Paket 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ında ve Çözüm Gezgini'ndeBaşvurular düğümü altında pakete 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, UtilitiesLib adlı projeye varsayılan olmayan Elmah.MVC paketini eklemek 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 referanslarını projeden ve yönetim biçimi formatlarından kaldırır. Başvurular artık Çözüm Gezgini'nde görünmez. Bin klasöründeki başvuruyu kaldırmak için projeyi yeniden oluşturmanız gerekebilir.
  • paketi yüklerken app.config veya web.configyapılan 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, Install-Package aracılığıyla bir paket yüklemek, proje dosyasına bir başvuru ekler, ancak NuGet CLI komutu, bu başvuruyu 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:

NuGet.CommandLine paketini yükledikten sonra kullanılabilen NuGet CLI komutlarını gösteren ekran görüntüsü.

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, NuGet'e özgü bir profili destekler; genellikle %UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1.

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 False döndürürse, belirtilen konumda False ile profil oluşturmanız gerekir. Daha fazla bilgi için bkz. Windows PowerShell Profilleri.

Sonraki Adımlar