Visual Studio 'da Paket Yöneticisi konsolu ile paket yükleyip yönetme (PowerShell)

NuGet Paket Yöneticisi konsolu NuGet paketlerini bulmak, yüklemek, kaldırmak ve güncelleştirmek için NuGet PowerShell komutlarını kullanmanıza olanak sağlar. Konsolunu kullanmak, Paket Yöneticisi Kullanıcı arabiriminin bir işlemi gerçekleştirmek için bir yol sağlamayan durumlarda gereklidir. nuget.exeKonsolunda CLI komutlarını kullanmak için, bkz. nuget.exe CLI 'Yi konsolda kullanma.

Konsol, Windows üzerinde Visual Studio 'da yerleşik olarak bulunur. Mac için Visual Studio veya Visual Studio Code dahil değildir.

Önemli

Burada listelenen komutlar, Visual Studio 'da Paket Yöneticisi konsoluna özgüdür ve genel bir PowerShell ortamında kullanılabilir olan paket yönetimi modülü komutlarından farklıdır. Özellikle, her ortamın diğeri üzerinde kullanılamayan komutları vardır ve aynı ada sahip komutlar, belirli bağımsız değişkenlerinde de farklılık gösterebilir. Visual Studio 'da Paket Yönetimi konsolunu kullanırken, bu konu başlığı altında belgelenen komutlar ve bağımsız değişkenler geçerlidir.

Paket bulma ve yüklemeyi

Örneğin, bir paketi bulmak ve yüklemek üç kolay adımla yapılır:

  1. Visual Studio 'da projeyi/çözümü açın ve araçlar > NuGet paket yöneticisi > Paket Yöneticisi konsolu komutunu kullanarak konsolunu açın.

  2. Yüklemek istediğiniz paketi bulun. Bunu zaten biliyorsanız adım 3 ' e atlayın.

    # Find packages containing the keyword "elmah"
    Find-Package elmah
    
  3. Yükleme komutunu çalıştırın:

    # Install the Elmah package to the project named MyProject.
    Install-Package Elmah -ProjectName MyProject
    

Önemli

Konsolda bulunan tüm işlemler NUGET CLIile de yapılabilir. Ancak konsol komutları, Visual Studio bağlamı ve kaydedilen bir proje/çözüm içinde çalışır ve genellikle eşdeğer CLı komutlarından daha fazlasını yapar. Örneğin, konsolu aracılığıyla bir paket yüklemek, CLı komutu olmadığı halde projeye bir başvuru ekler. Bu nedenle, Visual Studio 'da çalışan geliştiriciler genellikle konsolu CLı için kullanmayı tercih eder.

İpucu

Birçok konsol işlemi, Visual Studio 'da bilinen bir yol adı ile bir çözüme açık olması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örebilirsiniz. Lütfen açık ve kaydedilmiş bir çözümünüz olduğundan emin olun. " Bu, konsolunun çözüm klasörünü belirleyemediğini belirtir. Kaydedilmemiş bir çözümü kaydetme veya bir açık hesabınız yoksa bir çözüm oluşturup kaydetme, hatayı düzeltmeniz gerekir.

Konsol ve konsol denetimlerini açma

  1. Araçlar > NuGet paket yöneticisi > Paket Yöneticisi konsolu komutunu kullanarak Visual Studio 'da konsolunu açın. Konsol, istediğiniz şekilde düzenlenebileceği ve konumlandırılmış bir Visual Studio penceresidir (bkz. Visual Studio 'da pencere düzenlerini özelleştirme).

  2. Varsayılan olarak, konsol komutları pencerenin üst kısmındaki denetimde ayarlandığı şekilde belirli bir paket kaynağına ve projeye karşı çalışır:

    Paket kaynağı ve proje için Paket Yöneticisi konsol denetimleri

  3. Farklı bir paket kaynağı ve/veya proje seçildiğinde, Bu varsayılanlar sonraki komutlara göre değişir. Varsayılanları değiştirmeden bu ayarları fazla bir şekilde değiştirmek için, çoğu komut destek -Source ve -ProjectName seçenekleri.

  4. Paket kaynaklarını yönetmek için dişli simgesini seçin. Bu, Paket Yöneticisi Kullanıcı arabirimi sayfasında açıklandığı şekilde, > Araçlar > NuGet Paket Yöneticisi > paket kaynakları iletişim kutusunun bir kısayoludur. Ayrıca, proje seçicisinin sağında bulunan denetim konsolun içeriğini de temizler:

    Paket Yöneticisi konsol ayarları ve Temizleme denetimleri

  5. En sağdaki düğme uzun süre çalışan bir komutu keser. Örneğin, Get-Package -ListAvailable -PageSize 500 çalıştırmak birkaç dakika sürebilen varsayılan kaynakta (örneğin, NuGet.org) ilk 500 paketi listeler.

    Paket Yöneticisi konsolu denetimi durdur

Paketi yükleme

# Add the Elmah package to the default project as specified in the console's project selector
Install-Package Elmah

# Add the Elmah package to a project named UtilitiesLib that is not the default
Install-Package Elmah -ProjectName UtilitiesLib

Bkz. Install-Package.

Konsola bir paket yüklemek, bir paket yüklendiğinde ne olacağıile ilgili adımların aynısını aşağıdaki eklemelerle gerçekleştirir:

  • Konsol, ilgili lisans koşullarını örtülü anlaşmayla penceresinde görüntüler. Koşulları kabul etmiyorsanız, paketi hemen kaldırmanız gerekir.
  • Ayrıca, proje dosyasına pakete bir başvuru eklenir ve Başvurular düğümü altında Çözüm Gezgini görünür, proje dosyasındaki değişiklikleri doğrudan görmek için projeyi kaydetmeniz gerekir.

Bir paketi kaldırma

# Uninstalls the Elmah package from the default project
Uninstall-Package Elmah

# Uninstalls the Elmah package and all its unused dependencies
Uninstall-Package Elmah -RemoveDependencies 

# Uninstalls the Elmah package even if another package depends on it
Uninstall-Package Elmah -Force

Bkz. Uninstall-Package. Bir tanımlayıcı bulmanız gerekiyorsa varsayılan projede yüklü olan tüm paketleri görmek için Get-Package ' i kullanın.

Bir paketin kaldırılması aşağıdaki eylemleri gerçekleştirir:

  • Projedeki paketin başvurularını kaldırır (ve hangi yönetim biçiminin kullanımda olduğunu). Başvurular artık Çözüm Gezgini görünmüyor. ( Bin klasöründen kaldırıldığını görmek için projeyi yeniden oluşturmanız gerekebilir.)
  • Paket yüklendiğinde veya ' de yapılan tüm değişiklikleri tersine çevirir app.config web.config .
  • Kalan hiçbir paket bu bağımlılıkları kullanıyorsa, önceden yüklenmiş bağımlılıkları kaldırır.

Bir paketi güncelleştirme

# Checks if there are newer versions available for any installed packages
Get-Package -updates

# Updates a specific package using its identifier, in this case jQuery
Update-Package jQuery

# Update all packages in the project named MyProject (as it appears in Solution Explorer)
Update-Package -ProjectName MyProject

# Update all packages in the solution
Update-Package

Bkz. Get-Package ve Update-Package

Paketi bulma

# Find packages containing keywords
Find-Package elmah
Find-Package logging

# List packages whose ID begins with Elmah
Find-Package Elmah -StartWith

# By default, Get-Package returns a list of 20 packages; use -First to show more
Find-Package logging -First 100

# List all versions of the package with the ID of "jquery"
Find-Package jquery -AllVersions -ExactMatch

Bkz. bul-Package. Visual Studio 2013 ve önceki sürümlerde, Get-Package kullanın.

Konsolun kullanılabilirliği

Visual Studio 2017 ' den başlayarak, herhangi birini seçtiğinizde NuGet ve NuGet Paket Yöneticisi otomatik olarak yüklenir. NET ilgili iş yükleri; Visual Studio yükleyicisindeki tek tek bileşenler > Code araçları > NuGet Paket Yöneticisi seçeneğini tek tek denetleyerek de yükleyebilirsiniz.

Ayrıca, Visual Studio 2015 ve önceki sürümlerde NuGet Paket Yöneticisi eksik ise araçlar > Uzantılar ve güncelleştirmeler... ' ı Işaretleyin ve NuGet Paket Yöneticisi uzantısını arayın. Visual Studio 'da uzantılar yükleyicisini kullandıysanız, doğrudan uzantıyı konumundan indirebilirsiniz https://dist.nuget.org/index.html .

Paket Yöneticisi konsolu Mac için Visual Studio şu anda kullanılamıyor. Ancak eşdeğer komutlar NUGET CLIaracılığıyla kullanılabilir. Mac için Visual Studio NuGet paketlerini yönetmek için bir kullanıcı arabirimine sahiptir. Bkz. projenizde bir NuGet paketi ekleme.

Paket Yöneticisi konsolu Visual Studio Code dahil değildir.

Paket Yöneticisi konsolunu genişletme

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

MvcScaffold yükleme ve kullanma

NuGet PowerShell profili ayarlama

PowerShell profili, PowerShell kullandığınızda yaygın olarak kullanılan komutların kullanılabilmesini sağlar. NuGet, genellikle aşağıdaki konumda bulunan NuGet 'e özgü bir profili destekler:

% UserProfile% \Documents\WindowsPowerShell\NuGet_profile.ps1

Profili bulmak için konsola şunu yazın $profile :

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

Daha fazla ayrıntı için Windows PowerShell profillerinebakın.

Konsolda nuget.exe CLı 'yi kullanma

nuget.exe CLI 'Yı Paket Yöneticisi konsolunda kullanılabilir hale getirmek Için, konsolundan NuGet. CommandLine paketini yüklemek için:

# Other versions are available, see https://www.nuget.org/packages/NuGet.CommandLine/
Install-Package NuGet.CommandLine -Version 4.4.1