NuGet

Visual Studio’da NuGet Paketlerini Yükleme

İçindekiler

İster bir Xamarin projesi ister bir Web projesi olsun, Microsoft teknolojisini kullanan her geliştiricinin NuGet paketlerini kullanmayı öğrenmesi gerekir. Çünkü platformların kendi kontrolleriyle yapılabilecek olan özelleştirmeler kısıtlıdır. Dolayısıyla geliştiriciler çoğu zaman eklenti dediğimiz NuGet paketlerini projelere yüklerler. Böylece iş yükünden ve zamandan tasarruf edilmiş olur.

Kod paylaşımının önem kazanmasıyla Microsoft Visual Studio’da kendi paylaşım platformunu ortaya çıkardı: NuGet. Doğrudan Visual Studio’ya entegre edilen NuGet Package Manager, nuget.org üzerinden yayınlanan üçüncü kişi ve kurumların kod paketlerini geliştiricilerin hizmetine sundu. Hem de tamamen ücretsiz olarak.

Geliştiricilerin paket paylaşımıyla da, platform Visual Studio’nun vazgeçilmez bir parçası haline geldi. Öyle ki, Microsoft bile yeni oluşturulan projelere dll eklemek yerine, indirilecek paket bilgisini verip dll ve dosyaların NuGet Package Manager tarafından indirilmesini sağlayan yeni bir yapıya geçti.

Bu yazıda öncelikle NuGet Paket Yöneticisi’ni kullanarak önbelleğin nasıl kurulacağını, silineceğini, güncelleneceğini ve temizleneceğini göstereceğim. Sonra aynı işlemleri Paket Yöneticisi Konsolundaki komutlarla uygulayacağım. Ve son olarak, yerel dizindeki .nupkg dosyasını projeye çevrimdışı olarak nasıl yükleyeceğinizi açıklayacağım. Bu makalenin sonunda, Visual Studio projelerinizde NuGet paketlerini rahatlıkla kullanabileceksiniz.

NuGet Nedir?

NuGet, Microfost tarafından desteklenen .NET için bir kod paylaşım mekanizmasıdır. Visual Studio uygulamalarına kitaplık eklemeyi, güncellemeyi ve kaldırmayı sağlar.

NuGet paketleri ise .nupkg uzantısına sahip birer ZIP dosyasıdır. Bu paketler derlenmiş kaynak kodu (DLL’ler) ve ilgili diğer dosyaları (scriptler, görüntüler, paket sürüm numarası) içerir. Geliştiriciler paketleri oluşturur ve bunları bir ana bilgisayarda yayınlar. Daha sonra paket tüketicileri bu paketleri ana bilgisayardan alır ve projelerine ekler. Ardından projelerinde bir paketin işlevselliğini çağırırlar.

Herhangi bir üçüncü taraf kitaplığını direkt olarak kullanamazsınız. Önce paketi zip dosyası olarak çıkarıp gerekli derlemeleri referanslara ve dosyalara eklemelesiniz. Eğer güncelleme gerekiyorsa bu işlemleri manuel olarak tekrar yapmalısınız. İşte NuGet tüm bu işlemleri otomatik olarak yapıyor. Paketleri yüklemek için NuGet kullanmak bu üçüncü taraf kitaplıklarını yapılandırma işlemini bir hayli azaltır.

NuGet Paket Yöneticisi İle NuGet Paketlerini Yükleme

Visual Studio’daki The NuGet Package Manager projeler ve çözümlerde NuGet paketlerini yüklemeyi, kaldırmayı ve güncellemeyi sağlar. Şimdi sırayla bu işlemlerin nasıl yapıldığına bakalım.

Üçüncü Taraf Bir NuGet Paketini Yükleme

1 Çözüm Gezgininde, çözüme, bir projeye veya Referansa sağ tıklayın. Ardından Manage NuGet Packages’i seçin.

NuGet Paketlerini Yönetin
NuGet Paketlerini Yönetin

2 Açılan pencerede Browse sekmesine gidin. Ardından arama çubuğuna yüklemek istediğiniz eklentiyi yazıp aratın. Arama sonuçlarınız karşınıza indirme sayısına göre sıralı olarak çıkacaktır. Çünkü Browse sekmesi paketleri popülerliğine göre sıralar.

3 Sağ taraftaki açılır menüden yüklemek istediğiniz sürümü seçin . Ve ardından Install’e tıklayın. Bu adımda karşınıza Lisans koşullarını kabul etmeniz istenirse kabul edin. Ayrıca bazı eklentiler yüklendikten sonra bir readme.txt dosyası açılır. Bu dosya içinde eklentiyi başlatmak için gerekli talimatları bulabilirsiniz.

Bir NuGet Paketini ve Versiyonunu Seçin
Bir NuGet Paketini ve Versiyonunu Seçin

Beta NuGet Paketlerini Yükleme

Varsayılan olarak arama sonuçlarında beta sürümler karşınıza çıkmaz. Sadece kararlı sürümler çıkar. Aramanıza beta sürümleri dahil etmek için arama çubuğunun yanındaki Include prerelease seçeneğini seçin.

NuGet paketlerine Beta Sürümü Dahil Edin
NuGet paketlerine Beta Sürümü Dahil Edin

Bir NuGet Paketini Kaldırma

1 Çözüm gezgininde, Çözüme, bir projeye veya Referansa sağ tıklayın. Ardından Manage NuGet Packages’i seçin.
2 Sonra Installed sekmesine gidin. Burada projenizde yüklü olan paketler mevcuttur.
3 Kaldırmak istediğiniz paketi seçin ve Uninstall’a tıklayın. Dilerseniz kaldırmak istediğiniz eklentiyi arama çubuğundan bulabilirsiniz.

Bir NuGet Paketini Kaldırın
Bir NuGet Paketini Kaldırın

NuGet Paketlerini Güncelleme

1 Çözüm gezgininde, Çözüme, bir projeye veya Referansa sağ tıklayın.
2 Ardından Manage NuGet Packages’i seçin.
Daha sonra Updates sekmesine gidin. Burada güncellenmesi gereken paketler yer alır. Eğer ön sürüm paket sürümlerini de güncellemek istiyorsanız Ön sürüm dahil et onay kutusunu seçin.
3 İster tek bir paketi, isterseniz de toplu olarak paketleri güncelleyebilirsiniz. Eğer belirli bir paketi güncellemek istiyorsanız, paketi seçin ve sağdaki açılır menüden istediğiniz versiyonu seçin, ardından Update’ye tıklayın.

NuGet Paketlerini Güncelleme
NuGet Paketlerini Güncelleme

4 Eğer tüm paketleri topluca güncellemek istiyorsanız Select all packages onay kutusunu seçin. Ardınan Update butonuna tıklayın.

Tüm Nuget Paketlerini Güncelleyin
Tüm Nuget Paketlerini Güncelleyin

NuGet Paketlerini Geri Yükleme (Onarma)

Paket geri yükleme bir projenin tüm bağımlılıklarını gerektiği gibi yükler.  Proje açıldığında veya derlendiğinde, eklenen tüm NuGet paketleri geri yüklenir. 

1 Tools > Options > NuGet Package Manager > General ‘e gidin. Ardından Package Restore’daki Allow NuGet to download missing packages ve Automatically check for missing packages during build in Visual Studio onay kutularını seçin. Zaten varsayılan olarak bu seçenekler aktiftir.

Paketleri Geri Yükleyin
Paketlerini Onarma

2 Daha sonra Çözüm gezgininde projeye sağ tıklayın ve Restore NuGet Packages’i seçin. Böylece projedeki NuGet paketleri onarılacak.

NuGet Paketlerini Geri Yükleme
NuGet Paketlerini Geri Yükleme

NuGet Paketlerini Temizleme (Önbellek)

NuGet paketleri varsa önbellek konumundan yüklenir. Yoksa önbellek konumundaki karşılık gelen akıştan indirilir. Bazen paket yükleme sorunlarıyla karşılaşırsınız ya da kendi yüklediğiniz paketleri yüklediğinizden emin olmak istersiniz. Böyle durumlarda önbelleği kaldırmalısınız. NuGet önbelleklerini önbellek konumundan kaldırmak için NuGet paketlerini temizlemelisiniz.

1 Tools > Options > NuGet Package Manager > General ‘e gidin. Ve Clear All NuGet Cache(s)‘a tıklayın.

Tüm NuGet Önbelleğini Temizleyin
Tüm NuGet Önbelleğini Temizleyin

Paket Yöneticisi Konsolu ile NuGet Paketlerini Yükleme

Nuget Package Manager’a alternatif olarak Nuget Package Manager Console ile de paketleri projelere yükleyebilirsiniz. NuGet Package Manager Console NuGet PowerShell komutlarını kullanarak paketleri yükler, siler, onarır ve günceller.  NuGet Package Manager Console Windows’da Visual Studio’ya yerleşik olarak yer alır.

1 Visual Studio’da NuGet Package Manager Console açmak için Tools > NuGet Package Manager > Package Manager Console’a gidin.

NOT: Varsayılan Paket kaynağı olarak nuget.org seçilidir. Eğer başka bir kaynaktan paket yüklemek istiyorsanız açılır menüden paket kaynağını değiştirin.

Paket Yöneticisi Konsolu Kaynağı
Paket Yöneticisi Konsolu Kaynağı

Paket Yöneticisi Konsolu ile NuGet Paketlerini Yükleme

Aşağıdaki şablona uygun olarak yazacağınız komutları NuGet Package Manager Console’a girin. Yüklemek istediğiniz paketlerin komutlarını nuget.org’dan bulabilirsiniz.

Install-Package <Package Name> -Version <version>

Install-Package Newtonsoft.Json -Version 12.0.3

Paket Yöneticisi Konsolu ile Beta NuGet Paketlerini Yükleme

Bir beta paketi yüklemek istiyorsanız komuta IncludePrerelease ekleyin. Böylece varsa beta paketleri de yükleyebilirsiniz.

Install-Package <Package Name> -Version <version> -IncludePrerelease

Install-Package Newtonsoft.Json -Version 12.0.3 -IncludePrerelease

Paket Yöneticisi Konsolu ile Bağımlılıkları Olmayan NuGet Paketlerini Yükleme

Bağımlılıklar olmadan bir paket yüklemek istiyorsanız komuta IgnoreDependencies ekleyin.

Install-Package <Package Name> -Version <version> -IgnoreDependencies

Install-Package Newtonsoft.Json -Version 12.0.3 -IncludePrerelease -IgnoreDependencies

Paket Yöneticisi Konsolu ile NuGet Paketlerini Kaldırma

Bir paketi silmek için aşağıdaki şablona uygun olarak yazacağınız komutları NuGet Package Manager Console’a girin.

Uninstall-Package <Package Name>

Uninstall-Package Newtonsoft.Json

Paket Yöneticisi Konsolu ile Bir NuGet Paketini Kaldırırken Bağımlılıkları da Kaldırma

Yüklü paketin bağımlılıklarını kaldırmak istiyorsanız komuta RemoveDependencies ekleyin.

Uninstall-Package <Package Name> -Version <Version> -RemoveDependencies

Uninstall-Package Newtonsoft.Json -RemoveDependencies

Paket Yöneticisi Konsolu ile NuGet Paketlerini Güncelleme

Bir paketi güncellemek için aşağıdaki şablona uygun olarak yazacağınız komutları NuGet Package Manager Console’a girin. İstediğiniz versiyona yükseltebilir veya düşürebilirsiniz.

Update-Package [Package Name] <string> [-Version] <string> [-IgnoreDependencies]

Update-Package Newtonsoft.Json -Version 12.0.3 -IncludePrerelease -IgnoreDependencies

Paket Yöneticisi Konsolu ile Beta NuGet Paketlerini Güncelleme

Bir beta paketi güncellemek için aşağıdaki şablona uygun olarak yazacağınız komutları NuGet Package Manager Console’a girin. İstediğiniz versiyona yükseltebilir veya düşürebilirsiniz.

Update-Package [Package Name] <string> [-Version] <string> [-IgnoreDependencies] [-IncludePrerelease]

Update-Package Newtonsoft.Json -Version 12.0.3 -IncludePrerelease -IgnoreDependencies -IncludePrerelease

Paket Yöneticisi Konsolu ile NuGet Paketlerini Yeniden Yükleme

Paketleri yeniden yüklemek için aşağıdaki şablona uygun olarak yazacağınız komutları NuGet Package Manager Console’a girin. Böylece en son sürümüyle tüm paketleri yeniden yükleyebilirsiniz.

Update-Package -Reinstall

Update-Package -Reinstall

Eğer tüm paketleri aynı sürümle yeniden yüklemek istiyorsanız şunu kullanın:

Update-Package -ProjectName ‘{application name}’ -Reinstall

Yerel Dizindeki .nupkg Dosyası Çevrimdışı Olarak Nasıl Yüklenir?

Yerel dizindeki NuGet paketlerini projeye yüklemek mümkündür.

Çok sık tercih edilmese de .nupkg formatındaki bir paketi projeye yüklemek gerekebilir. Genelde internet bağlantısının olmayacağı zamanlarda kullanılmak üzere paketler yerel dizine indirilir. Bazen de nuget.org’da yer almayan bir paketi kullanmak gerektiğinde bu yönteme başvurulur.

Örnek olarak nuget.org’dan bir paket indirelim ve ardından yerel klasördeki bu paketi Paket Yöneticisi ya da Konsol kullanmadan projeye yükleyelim. Bu yöntem nuget.org dışından indirdiğiniz paketler için de geçerlidir. GitHub’dan indirdiğiniz bir paket gibi. Ayrıca internet bağlantısına da gerek yoktur.

1 nuget.org’dan yüklemek istedeğiniz paketi aratıp bulun. Ve Info kısmından Download Package‘ye tıklayın.

.nupkg Uzantılı Paketi İndirin
.nupkg Uzantılı Paketi İndirin

2 Daha sonra Visual Studio’da Tools>NuGet Package Manager>Package Manager Settings‘e gidin.

Tools>NuGet Package Manager>Package Manager Settings
Tools>NuGet Package Manager>Package Manager Settings

3 Açılan Options penceresinde Package Sources altında var olan paket kaynaklarını göreceksiniz. Burada yeni bir paket kaynağı eklemelisiniz. Yeni paket kaynağının adı size kalmış. Kaynak olarak indirdiğiniz .nupkg uzantılı paketin olduğu dizini seçin. Ardından artı butonuna tıklayın ve yeni paket kaynağını ekleyin.

Yeni Bir Paket Kaynağı Ekleyin
Yeni Bir Paket Kaynağı Ekleyin

3 Şimdi Nuget Package Manager’a gidin. Bunun için projeye sağ tıklayın ve Manage NuGet Packages‘i seçin. Burada Paket kaynağı varsayılan olarak nuget.org’dur. Ancak biz kendi eklediğimiz paket kaynağından yükleme yapmak istediğimiz için açılır pencereden paket kaynağını değiştirmeliyiz. Paket kaynağını değiştirince sadece seçtiğimiz klasörde yer alan .nupkg uzantılı paketler görünecek. Burada yüklemek istediğiniz paketi ve platformları seçin ve Install’a tıklayın.

Nuget Paketlerini Çevrimdışı Olarak Yükleyin
Nuget Paketlerini Çevrimdışı Olarak Yükleyin

Bu kadar.

Sonuç

Özet olarak, NuGet paketleri yazılım geliştiricilerin işini bir hayli kolaylaştırıyor. Third party paketlerini referanslara ve dosyalara manuel olarak eklemek yerine Nuget ile tüm işlemleri otomatik olarak yaparak zaman kazanabilirsiniz.

Bu yazıda önce NuGet Paket Yöneticisi kullanarak nasıl kurulacağını, silineceğini, güncelleneceğini ve önbelleğe alınacağını gösterdim. Daha sonra aynı işlemleri Paket Yöneticisi Konsolundaki komutlarla uyguladım. Son olarak, yerel dizindeki .nupkg dosyasını projeye çevrimdışı olarak nasıl yükleyeceğinizi açıkladım. Umarım yararlı olmuştur.

İlgili Makaleler

Bir Yorum

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu