Turkish Tutorial of NuGet Package Manager C#

in utopian-io •  7 years ago  (edited)

That post is tutorial of NuGet Package Manager C# and informations about how it works.
NuGet is being actively developed by the .NET Foundation. NuGet is the package manager for the Microsoft development platform including .NET. The NuGet client tools provide the ability to produce and consume packages. The NuGet Gallery is the central package repository used by all package authors and consumers and has a live deployment at Nuget.


Giriş

Merhaba arkadaşlar bildiğiniz gibi C# açık kaynak kodlu projeler üzerine katkı yapmaya çalışıyorum. Bundan önce proje için eğitim postu hazırlamıştım. Onlara aşağıdan ulaşabilirsiniz.

Turkish Tutorial of Html Agility Pack C# Part1
Turkish Tutorial of MetroFramework C# Part1 | Modern UI Design

Bu eğitimlerin üçünsünü hazırlarken birşey dikkatimi çekti her eğitime başlarken bu açık kaynak kodlu projeyi nasıl kendi projemize entegre edebileceğimizi gösteriyordum. Bu işlemi NuGet Package Manager üzerinden gösteriyordum. Ve üçüncü çekeceğim eğitim için yine bunu yapmak zorundaydım. Dördünücüsü ve sonrakiler içinde çünkü şuan NuGet Package Manager C# kullanımı üstüne bir eğitim içeriği bulunmamaktaydı. Bu yüzden üçüncü eğitimimi hazırlamadan önce bu açık kaynak kodlu projelerimizi kütüphanelerimizi nasıl kendi projelerimize ekleyebileceğimiz hakkında bir eğitim postu hazırlayıp. Bir dahaki eğitimlerimde ve tüm C# uygulamalarına açık kaynak kodlu proje eklemelerinde kullanılmasını istedim.


NuGet Package Manager

nuget.png
Resim Kaynak

NuGet Package Manager Website
GitHub
Doküman

Evet arkadaşlar NuGet Package Manager nedir? diye sorarsak eğer .NET platformu için geliştirilmiş çok geniş bir paket yönetim sistemidir. Çalışma yöntemi şu şekildedir. A Projesini yapan geliştirici projesini Github üzerinde açık kaynak kodlu olarak paylaşır. Bu proje .NET projeleri için uyumlu bir paket haline dönüştürülür. Ve nuget.org sitesine yüklenir. Bu siteden ise yine biz geliştiricilerin yararlanabilmesi için projelerimize eklenir. Biz bu eklemeyi yaparken NuGet Package Manager'ı kullanabiliriz. Aynı zamanda bizde NuGet Package Manager üzerine kendi projemizin kütüphanesini ekleyebiliriz. Ben bu içerikte bu paketleri nasıl projelerimize ekleyebileceğimize değineceğim.

Not: Eğer Visual Studio'nuzda Tools menüsü altında NuGet Package Manager bulunmuyorsa yine Tools menüsü altından Extensions and Updates bölümüne giderek sağdaki arama bölümüne NuGet Package Manager yazdıktan sonra Install'a basarak. Visual Studio'nuzu güncelleyebilirsiniz.


NuGet Package Manager Projenize Paket Ekleme

Evet arkadaşlar paket eklemek için 2 yöntemimiz var.

  • Package Manager UI yani görsel platform
  • Package Manager Console yani kod platformu

Ben genelde Console kullanıyorum ve console kullanılmasını öneriyorum. Çünkü hata riski çok az oluyor. Ve daha hızlı kullandığımı düşünüyorum. Tabi bu eğitimde ikisinide anlatacağım siz kendinize yakın geleni ve daha rahat kullandığınızı seçebilirsiniz.

Öncelikle iki yükleme şekli içinde yüklemek istediğiniz açık kaynak kodlu paketi seçmeniz gerekiyor.
Bu seçimi NuGet Packages üzerinden yapabilirsiniz.
Ben daha önce eğitimde kullandığım Html Agility Pack'i seçeceğim. NuGet Packages'e giriş yapıyorum ve arama bölümüne Html Agility Pack yazıyorum. Eğer bilmediğim bir proje arıyor olsaydım direk keywordler üzerinden arama yapacaktım. Örnek HTML parser veya UI Design gibi.

1.png

2.png

Gördünüz gibi bana 2500'e yakın paket döndürdü. Bizim ihtiyacımız olan en üsteki en çok indirilen orjinal paket diğer paketlerde yine bu projelerin güncelleme yapılmış, değiştirilmiş halleri oluyor genelde.

3.png

Evet projemizin sayfasına girdiğimizde Info bölümünde projemiz hakkında bilgiler bulunuyor, projenin sitesi, lisans bilgisi, şikayet gibi. Statistics bölümünde ise projemiz hakkında istatikler bulunuyor. Owners bölümünde projemizin sahibini belirtiyor. Version History bölümünde projemizin versiyonlarını, indirilme sayılarını ve güncelleme tarihilerini gösteriyor. Package Manager bölümünde ise bize bir kod veriyor. Aslında bu kod önemli 2. yükleme çeşidimiz olan console üzerinde bu kodu kullanacağız.

Şimdi projemizi bulduğumuza göre yükleme çeşitlerimizi göstermek istiyorum öncelikle Package Manager UI yani görsel platform üzerinden Html Agility Pack yüklemesi yapacağız.


Package Manager UI Paket Yükleme

Projemizde üst menüdeki Tools bölümünden NuGet Package Manager / Manage NuGet Packages for Solution... bölümüne tıklıyoruz.

4.png

Tıklamayı yaptığımızda Package Manager UI yani NuGet görsel platform açılacak. No packages found yazısını görünce telaş yapmayın çünkü varsayılan olarak projenizde yüklü paketleri gösterir.

5.png

Installed bölümünden yukarıdada bahsettiğim gibi projenizde yüklü bulunan paketleri görebilirsiniz.
Browse bölümünden ise projenize yeni paket ekleyebilirsiniz.
Sağ taraftaki Package source bölümünden ise paketleri nerden temin edebileceğinizi seçebilirsiniz. nuget.org 'a ek olarak. Microsoft Visual Studio Offline Packages bulunmaktadır.

Şimdi paketimizi eklemek için Browse bölümüne gideceğiz.

6.png

Gördüğünüz gibi arama bölümüne sitede yaptığımız aynı şekilde Html Agility Pack yazdık ve sitemizdede seçtiğimiz paketimi gördük. Paketimizin üzerine tıklıyoruz.

7.png

Sağ tarafta açılan menüden paketimizi hangi projemize ekleceğimizi seçiyoruz.
Altından eğer projemizde bu paket yüklü ise kaldırabiliyoruz. Eğer yükleme yapacaksak versiyonumuzu seçip. Install tuşuna basıyoruz.

8.png

Install tuşuna bastıktan sonra karşımıza böyle bir uyarı ekranı geliyor. Visual Studio projenizde aşağıdaki paketi ekleyerek değişiklik yapacak onaylıyor musunuz? diye soruyor. OK diyoruz.

9.png

Bu işlemi yaptıktan sonra paketimiz başarıyla projemize eklenmiş oluyor.
Package Manager UI Paket Yükleme bu kadardı paketimiz başarıyla projemize eklendi. Şimdi paketimizi kaldırıp aynı paketi ikinci yöntemimiz olan Package Manager Console üzerinden eklemeyi göstereceğim.


Package Manager Console Paket Yükleme

Projemizde üst menüdeki Tools bölümünden NuGet Package Manager / Package Manage Console bölümüne tıklıyoruz.

10.png

Tıklamayı yaptığımızda Package Manager Console açılacak. PM> yazısını gördüğünüzde tamamsınız demektir.

11.png

Şimdi buradan paketimizin yüklemesini yapmak için tek yapmamız gereken NuGet sitesindeki paketimizin bölümünde bulunan kodu buraya yapıştırmak. Bunu yine üst tarafta bu kodu console üzerinden yükleme yapmak için kullanacağız diyerek belirtmiştim.

Paketimizin bölümüne gidiyoruz. Bizim paketimizin sitesi HtmlAgilityPack bu paketimizin sitesinde bölümünde bulunan Package Manager bölümünden kodumuzu temin edebiliriz.

12.png

Turuncu butona basarak direk kopyalama işlemini yapabilirsiniz.

13.png

Oradan kopyaladığımız kodumuzu geri dönüp Package Manager Console'umuza yapıştırıyoruz.
Ve Enter'a basıyoruz. Otomatikmen paketimizin yükleme işlemi başlıyor.

14.png

Paketimiz başarıyla projemize eklendi ikinci yolumuz olan Package Manager Console'un kullanımıda bu kadardı.

Bu iki yöntemden istediğinizi kullanarak açık kaynak kodlu projelerin NuGet paketlerini projelerinize kolayca entegre edebilirsiniz.


Umarım detaylı olarak anlatabilmişimdir. Yine bir sorunuz olursa yorumlarda belirtebilirsiniz. Saygılarımla.



Posted on Utopian.io - Rewarding Open Source Contributors

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

Thanks

Hey @pars11 I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Suggestions

  • Contribute more often to get higher and higher rewards. I wish to see you often!
  • Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!

Get Noticed!

  • Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x