Altbilgi içeriğine atla
.NET YARDıM
NuGet nedir (Geliştiriciler için Nasıl Çalışır Eğitimi)

NuGet nedir?

Geliştiricilerin işlevsel kod yazmalarına, paylaşmalarına ve kullanmalarına olanak tanıyan bir sistem, modern bir geliştirme platformunun önemli bir bileşenidir. Bu işlevsel kod, projelerin ihtiyaç duyduğu diğer malzemeler, örneğin derlenmiş kod (DLL biçiminde) gibi, kümeler halinde paketlenir.

.NET için (NET Core dahil) Microsoft tarafından desteklenen kod paylaşım yöntemi NuGet'tir. NuGet, .NET Çerçeveleri için paketlerin üretilmesini, barındırılmasını ve alınmasını sağlar. NuGet tarafından yönetilen yazılım paketlerine NuGet paketleri denir.

NuGet Nedir? Bir NuGet paketi, sadece .nupkg uzantısı olan zip dosyasıdır. Yazılımın çalışmasını sağlamak için gereken tüm DLL'leri içerir. Ayrıca paketin sürüm numarası gibi çeşitli bilgileri listeleyen açıklayıcı bir manifest içerir. Geliştiricilerin sadece NuGet paketini kurması gerekir, böylece bu paket tarafından sağlanan yöntemleri kullanabilirler.

NuGet Özellikleri

  • NuGet, merkezi nuget.org deposuna özel barındırma desteği ekler.
  • NuGet, geliştiricilerin paket oluşturmalarını, yayınlamalarını ve kurmalarını sağlayan araçlar sağlar.
  • NuGet, bir projede kullanılan paketleri izler ve bu paketleri liste üzerinden güncelleyebilir ve geri yükleyebilir.
  • NuGet, paketlerin nasıl yapılandırıldıklarına dair, yerelleştirme ve referans şekilleri dahil, tüm özellikleri izler.
  • NuGet, tüm hizmetleri ile programatik olarak etkileşim kurmak için çeşitli API'ler sunar ve Visual Studio uzantısı yayımlayan geliştiricilere destek sağlar.
  • NuGet, yeniden yükleme ve yükleme işlemlerini kolaylaştırmak için bir paket önbelleği ve global klasör içerir. Bir paket zaten yerel makinada varsa, önbellek onu merkezi depodan indirmez, bunun yerine önbellekten sunar.

NuGet Paketi Nasıl Çalışır

NuGet, halka açık bir barındırıcı olarak, 100.000'den fazla benzersiz paket içeren merkezi bir havuzu sürdürür. Her gün milyonlarca .NET/.NET Core geliştiricisi bu paketleri kullanır. NuGet ayrıca kendinize özel paketleri bulutta (örneğin Azure DevOps'ta), özel bir ağda veya hatta yerel dosya sisteminizde barındırmanıza olanak tanır. Sonuç olarak, bu paketler yalnızca barındırıcıya erişimi olan geliştiricilere açıktır, böylece belirli bir tüketici grubuna paketler sunabilirsiniz.

Barındırıcı, her ne olursa olsun, paket oluşturucular ve tüketiciler arasında bir bağlantı görevi görür. Oluşturucular faydalı NuGet paketleri geliştirip bir barındırmanıza gönderir. Tüketiciler daha sonra mevcut barındırıcılar arasında faydalı ve uyumlu paketler arar, bu paketleri indirir ve projelerine dahil eder. Bir projeye kurulduktan sonra, paketlerin API'leri proje kodunun geri kalanı için erişilebilir hale gelir.

What is NuGet, Figure 1

NuGet Araçları

NuGet Paketlerini yönetmek için kullanılan altı araç vardır.

.NET CLI

.NET Core ve .NET Standard kütüphaneleri için ayrıca .NET Çerçevesini hedefleyen SDK-stil projeler için (SDK özelliğine bakın) bir komut satırı arayüzüdür (CLI). Bazı NuGet CLI özellikleri, doğrudan .NET Core araç zincirinde bulunur. .NET CLI, nuget.exe CLI gibi, Visual Studio projeleriyle etkileşime girmez.

NuGet.exe CLI

.NET Framework kütüphaneleri ve .NET Standard kütüphanelerini hedefleyen olmayan SDK-stil projeler için bir CLI'dir. .NET CLI'nin tüm yeteneklerini sunar, ancak bazı komutlar yalnızca paket oluşturuculara ve diğer komutlar yalnızca tüketicilere uygulanır. Paket oluşturucular, örneğin, çeşitli derlemeler ve ilgili dosyalardan bir paket oluşturmak için NuGet pack komutunu kullanır. Paket kullanıcıları, bir proje klasörüne paketleri dahil etmek için NuGet install kullanır. Hem paket geliştiriciler hem de paket kullanıcıları, NuGet yapılandırma değişkenlerini ayarlamak için NuGet config kullanır.

NuGet CLI, platformla bağımsız bir araç olduğu için Visual Studio projeleriyle etkileşime girmez.

Paket Yöneticisi Konsolu

Paket Yöneticisi Konsolu, Visual Studio projelerinde paketlerin yüklenmesi ve yönetimi için PowerShell komutları sağlar.

Paket Yöneticisi UI

Paket Yöneticisi UI, Visual Studio'da projeler için paketlerin yüklenmesi ve yönetilmesi için kullanıcı dostu bir arayüz sunar.

NuGet Paket Yöneticisi UI Yönetimi

Bu araç ayrıca, Visual Studio projelerinde paketlerin yüklenmesi ve yönetilmesi için kullanıcı dostu bir arayüz sağlar. Bu araç yalnızca Mac kullanıcıları için mevcuttur.

MSBuild

MSBuild, kullanıcıların bir projede kullanılan paketleri MSBuild araç zinciri doğrudan içinden oluşturmasını ve geri yüklemesini sağlar.

Paket Yöneticisi UI ve Paket Yöneticisi Konsolu, NuGet paketlerini yönetmek için en çok kullanılan araçlardır. Şimdi, nasıl kullanıldığına bir göz atacağız.

NuGet Paket Yöneticisi UI Kullanımı

Visual Studio'da, Üst Menü Çubuğu'ndan Araçlar'a tıklayın ve NuGet Paket Yöneticisi > Çözümler için NuGet paketini yönetin'i seçin.

Aşağıda gösterildiği gibi yeni bir pencere görünecektir.

What is NuGet, Figure 2

Yüklenmiş sekmesinde, zaten yüklenmiş olan tüm NuGet paketleri burada görünecektir.

Gezinme Düğmesine tıklayın ve Arama Çubuğu'na bir paket adını yazın. Örnek olarak IronBarcode arayacağız.

What is NuGet, Figure 3

Yükle butonuna tıklayın, kütüphane yüklenecek ve kullanıma hazır hale getirilecektir.

IronBarcode NuGet Paket Detayları, C# yazılım mühendislerinin .NET uygulamalarında barkodlar ve QR kodları okuyup yazmasına yardımcı olan Iron Software tarafından geliştirilen ve sürdürülen bir kütüphanedir.

Ana özellikler şunlardır:

  • Görüntülerden veya PDF'lerden tekil veya birden fazla barkod ve QR kodu okuma.
  • Eğrilik, yön, gürültü, düşük çözünürlük, kontrast vb. için görüntü düzeltme.
  • Barkodlar oluşturma ve bunları görüntülere veya PDF belgelerine uygulama.
  • Barkodları HTML belgelere yerleştirme.
  • Barkodları stilize etme ve anotasyon metni ekleme.
  • QR Kod Yazma, logolar, renkler ve gelişmiş QR düzenlemesi eklemeye izin verir.

Ürün belgeleme sayfasından IronBarcode hakkında daha fazla bilgi edinin.

Paket Yöneticisi Konsolu Kullanımı

Visual Studio'da Araçlar'a tıklayın ve NuGet Paket Yöneticisi => Paket Yöneticisi konsolu'nu seçin.

Paket Yöneticisi Konsolu penceresi aşağıda gösterildiği gibi görünecektir.

What is NuGet, Figure 4

Paket Yöneticisi Konsolu'nu kullanarak bir paket yükleyelim.

Install-Package 'package-Name' komutu paketi kurmak için kullanılır. Örneğin, IronOCR paketini kurmak için:

Install-Package IronPdf

IronOCR NuGet Paketini Keşfedin, .NET yazılım geliştiricilerinin resimlerden ve PDF belgelerinden metin tespit etmelerini ve okumalarını sağlayan bir C# yazılım kütüphanesidir. Her yerde bilinen en gelişmiş Tesseract motorunu kullanır. IronOCR, dijital gürültü, düşük kalite çözünürlükleri gibi kusurlarla dolu gerçek dünya görüntüleriyle çalışırken tüm diğer OCR kütüphanelerini geride bırakır. Birden çok programlama dilini destekler.

IronOCR hakkında daha fazla teknik dokümantasyon ürünün web sitesinden okuyabilirsiniz.

Bazı Faydalı NuGet Paketleri

Bu bölümde, veritabanları ve dosyalarla çalışmak için mevcut olan bazı yararlı NuGet Paketleri anlatılacaktır.

Entity Framework

Entity Framework NuGet Paketini Keşfedin, .NET uygulamalarıyla veritabanlarıyla çalışmak için mevcut en yaygın ve güçlü NuGet Paketidir.

Bu, geliştiricilerin verilerle, verilerin saklandığı temel veritabanı tabloları ve kolonları yerine alan özgü nesneler kullanarak çalışmalarına olanak tanıyan, Microsoft destekli açık kaynaklı bir ORM frameworküdür. Veri ile çalışırken, geliştiriciler daha yüksek düzeyde bir soyutlama ile çalışabilirler. Bu, onların geleneksel uygulamalardan daha az kodla veri odaklı uygulamaları oluşturup sürdürmelerine olanak tanır.

SQL sunucu, Oracle, MySQL ve PostgreSQL veritabanı sunucularını yönetmek için ayrı NuGet paketleri mevcuttur.

Entity Framework için Başlangıç Kılavuzu, Entity Framework'un yetenekleri hakkında daha fazla bilgi sağlar.

IronPDF

IronPDF NuGet Paketi, uygulamalara PDF işleme yetenekleri ekleme sorununu çözer. IronPDF, biçimlendirilmiş belgeleri PDF'ye dönüştüren işlemleri otomatikleştirir ve ayrıca geliştiricilerin PDF belgeleri oluşturmasına, düzenlemesine ve dışa aktarmasına olanak tanır.

IronPDF'un ana özellikleri şunlardır:

  • Web formlarını, yerel HTML sayfalarını ve diğer web sayfalarını .NET ile PDF'ye dönüştürün.
  • Kullanıcılara belgeleri indirme, e-posta ile gönderme veya bulutta saklama imkanı verin.
  • Faturalar, teklifler, raporlar, sözleşmeler ve diğer belgeler üretin.
  • ASP .NET, ASP .NET Core, web formları, MVC, Web API'leri üzerinde .NET Framework ve .NET Core ile çalışın.

IronPDF hakkında daha fazla bilgiyi ürün dokümantasyon sayfasında okuyabilirsiniz.

IronXL

IronXL NuGet Paketi, C# yazılım mühendislerinin .NET uygulamalarında elektronik tablo dosyalarını okumasını, oluşturmasını ve düzenlemesini sağlar. IronXL, Office Excel Interop kullanmadan iyi çalışır ve ek bağımlılıklar veya Microsoft Office yükleme gereksinimi olmaz.

IronXL hakkında daha fazla bilgiyi, kapsamlı ürün dokümantasyonundan öğrenebilirsiniz.

Iron Software, beş kütüphanenin tamamını (IronPDF, IronXL, IronBarcode, IronWebScraper ve IronOCR) tek bir .NET Suite olarak sunar. Tüm Suite'yi satın alırken, beş kütüphanenin tamamını iki fiyatına alabilirsiniz. Tüm satın alımlar ömür boyu ürün desteğini içerir.

Özet

NuGet, .NET uygulamaları için paket yöneticisidir. NuGet istemci araçları, paket oluşturma, paylaşma ve alma yeteneği sağlar. NuGet Galerisi, tüm paket yazarları ve tüketicilerinin kullandığı merkezi paket deposudur.

  • NuGet, özel barındırma desteğiyle merkezi nuget.org deposunu sağlar.
  • NuGet, paket oluşturma, yayınlama ve kurma için geliştiricilerin ihtiyaç duyduğu araçları sağlar.
  • NuGet, bir projede kullanılan paketlerin referansını sürdürme ve bu listedeki paketleri geri yükleme ve güncelleme yeteneği sağlar.

Sıkça Sorulan Sorular

HTML'yi C# içerisinde PDF'ye nasıl dönüştürebilirim?

IronPDF’in RenderHtmlAsPdf yöntemini kullanarak HTML dizelerini PDF'lere dönüştürebilirsiniz. Ayrıca HTML dosyalarını RenderHtmlFileAsPdf yöntemiyle PDF'lere dönüştürebilirsiniz.

NuGet nedir ve neden .NET geliştiricileri için önemlidir?

NuGet, .NET geliştiricilerinin paketlenmiş kod oluşturmasına, paylaşmasına ve verimli bir şekilde kullanmasına olanak tanıyan bir paket yönetim sistemidir. Üçüncü parti kitaplıkların ve bağımlılıkların yönetimini basitleştirir, doğru sürümlerin kullanılmasını sağlar ve paketlerin güncellenmesini ve geri yüklenmesini kolaylaştırır.

.NET CLI kullanarak bir NuGet paketi nasıl yüklenir?

.NET CLI kullanarak bir NuGet paketi yüklemek için dotnet add package [PackageName] komutunu kullanabilirsiniz. Bu komut, belirli paketi projenize ekler ve paket yönetimi sürecini kolaylaştırır.

Visual Studio'da NuGet paketlerini yönetmek için hangi araçlar gereklidir?

Visual Studio'da NuGet paketlerini yönetmek için gerekli araçlar arasında Paket Yöneticisi UI, Paket Yöneticisi Konsolu ve .NET CLI bulunur. Bu araçlar, projelerinizde paketlerin verimli bir şekilde taranmasını, yüklenmesini ve güncellenmesini sağlar.

NuGet paketleri için özel barındırma kullanmanın avantajları nelerdir?

NuGet paketleri için özel barındırma, geliştiricilere belirli gruplar veya kuruluşlar içinde paketleri güvenli bir şekilde paylaşma olanağı tanır. Bu, yalnızca yetkili kullanıcıların belirli paketlere erişmesine izin vererek dağıtım üzerinde güvenliği ve kontrolü artırır.

NuGet Paket Yöneticisi Konsolu paketi yönetimini nasıl kolaylaştırır?

Visual Studio'daki NuGet Paket Yöneticisi Konsolu, geliştiricilere paketleri doğrudan geliştirme ortamları içinde yükleme, güncelleme ve yönetme komutlarını yürütmelerine olanak tanır. Bu, paket bağımlılıklarını ve sürümlerini verimli bir şekilde işlemek için güçlü bir arayüz sağlayarak katkıda sunar.

Bir NuGet paketindeki manifesto hangi rolü oynar?

Bir NuGet paketindeki manifesto, paketin sürüm numarası ve diğer önemli bilgileri içeren meta verileri içerir. Bu meta veriler, bir projede bağımlılıkları tanımlamak, yönetmek ve çözmek için gereklidir.

NuGet, .NET olmayan projeler için kullanılabilir mi?

NuGet esas olarak .NET projeleri için tasarlanmış olsa da, altyapısı çeşitli diğer projeler için paket yönetimini destekleyebilir. Ancak, tam potansiyeli ve özellikleri .NET ekosisteminde en iyi şekilde kullanılmaktadır.

NuGet'teki önbellek mekanizmaları paket yönetimini nasıl basitleştirir?

NuGet'in önbellek mekanizmaları, paket verilerini yerel olarak depolayarak paketlerin kolayca yüklenmesini ve yeniden yüklenmesini sağlar. Bu, paketlerin merkezi depodan tekrar tekrar indirilme gereksinimini azaltır ve geliştirme sürecini hızlandırır.

Popüler NuGet paketlerine bazı örnekler nelerdir?

Popüler NuGet paketleri, veritabanı etkileşimleri için Entity Framework, PDF işleme için IronPDF ve hesap tablolarını manipüle etmek için IronXL içerir. Bu paketler, geliştiricilere .NET uygulamalarını geliştirmek için güçlü araçlar sağlar.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara