Visual Studio Paket Yöneticisi Konsolu (PowerShell) ile paketleri yönetme
Makale
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:
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.
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
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:
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.
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.
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:
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:
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.
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:
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.
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 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 :
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.
Windows Paket Yöneticisi kullanarak bilgisayarınızda yazılım yükleme ve bakımını kolaylaştırın. Ön uç bileşenlerini ve komutlarını, Windows Paket Yöneticisi deposunu ve depoya nasıl katkıda bulunabileceğinizi açıklayın.