.Net Framework için Local NugetPackage
Orcun Ten - 2023/08/02
Last updated
Orcun Ten - 2023/08/02
Last updated
NuGet Package, Microsoft tarafından geliştirilen ve .NET platformunda kullanılan açık kaynak paket yöneticisidir. NuGet paketleri, .NET projelerine kolayca ekstra fonksiyonlar, kütüphaneler, araçlar ve bileşenler eklemek için kullanılır. Bu paketler, projelerinizin gereksinim duyduğu harici kaynak kodlarını ve bağımlılıklarını içerir.
Kütüphaneler ve Framework'ler: Projelerinizde popüler kütüphaneleri ve framework'leri (örneğin Entity Framework, Newtonsoft.Json vb.) kullanmak için NuGet paketlerini projenize ekleyebilirsiniz.
Ek Araçlar ve Eklentiler: Projenize özel ihtiyaçlarınızı karşılamak için üçüncü taraf araçları ve eklentileri kolayca eklemek için NuGet paketlerini kullanabilirsiniz.
Test ve Geliştirme Araçları: Testlerinizi veya geliştirme sürecinizi kolaylaştırmak için NuGet paketlerini kullanabilirsiniz.
Bağımlılık Yönetimi: Projelerinizde kullandığınız harici kütüphanelerin ve bileşenlerin sürümlerini ve bağımlılıklarını kolayca yönetmek için NuGet paketlerini kullanabilirsiniz.
NuGet paketleri, projenizi oluşturduğunuzda veya yönettiğinizde, projenizin .csproj dosyasına bağımlılıkları ve NuGet paketlerini içeren referansları ekler. Ayrıca, bağımlılıkların otomatik olarak çözülmesini ve güncellenmesini de sağlar.
NuGet, .NET projelerini geliştirmeyi, bakımını yapmayı ve dış kaynakları projelere dahil etmeyi daha kolay ve daha yönetilebilir hale getirir. Projelerin ihtiyaçlarına göre gereksinimleri hızla karşılayarak geliştirme sürecini hızlandırır ve projelerin daha sağlam ve esnek olmasına yardımcı olur.
Kurum içerisinde yazılmış olan ve modüler hale gelmiş kodların (Helper, Business, Extentions vb.) tekrar tekrar yazılmasını engellemek ve kurum içerisindeki kod bütünlüğünü sağlamak için böyle bir yapı oluşturulabilir. Kod clone alma veya Git üzerinde ortak repo açma gibi yöntemler de tercih edilebilir lakin clone işlemlerinde başka bir geliştirici diğer geliştiricinin kod üzerindeki yeni düzeltmelerini bilemez ve kod yönetimi karmaşık hale gelebilir. Nuget Package kullanıldığında bağımlılıkları yönetmek daha kolay olacaktır.
Nuget paketlerini dağıtmak veya oluşturmak için gerekli olan exe nin indirme linki aşağıdaki gibidir.
nuget.exe indirilir (https://www.nuget.org/downloads)
İndirilen nuget.exe uygun bir pathe konulur. Örn: C:/Program Files/nuget/nuget.exe
nuget.exe nin path’i environment variables da PATH değişkenine set edilir ki cmd üzerinde nuget komutlarını görsün. 4.2-) Nuget Package Oluşturacağımız Class Library Projesinin Oluşturulması 1.Adım : Solution’da Class Library(.Net Freamwork) oluşturun.
Solution’da Class Library(.Net Freamwork) oluşturun.
Projede kullanılacak sınıfı oluşturun
Örnek Olması açısından Deneme Class oluşturdum.
Sınıf içerisindeki methodları tanımlayın
Projeye Sağ tuş/Properties/Application/Assembly Information’da ki bilgileri doldurun
Projeyi Release modda build edin ve build klasörüne gidin örn: bin/release
Oluşan dll leri “lib/net472/” dizini oluşturarak altına atın. Net472, .Net 4.7.2 Freamwork’üne bağımlı çalıştığını temsil ediyor.
<ProjeSolutionAdı>.nuspec file oluşturun. Ben Solution dizininde oluşturdum.
Oluşturan dosyanın içerisine aşağıdaki xml kodları yazın ve projenin özelliklerine göre editleyin.
Eğer oluşturduğunuz Library’nin bağımlılıkları varsa bunu Dependencies Tag’ının altına yazmanız gerekiyor. Örneğin version 2.0.0’ın kurulması için version 1.0.0’ın kullanılıyor gerekiyorsa bağımlılı sağlamak için aşağıdaki örnek kodu inceleyebilirsiniz.
*.nuspect dosyasının olduğu path’de komut satırını açın ve aşağıdaki komudu yapıştırın.
Bto.NugetDeneme.2.0.0.nupkg dosyası oluşacaktır dilerseniz bunu kurumda herkesin ulaşabileceği bir ShareFolder içerisine atabilirsiniz.
Visual STD Nuget Package Management üzerinde oluşturduğumuz Nuget Paketi görmek için tanımlama yapmamız gerekiyor. Bunun için oluşturduğumuz Nuget Package’ı ekleyeceğimiz başka bir projeye giderek sağ tuş-> Manage NuGet Packages diyoruz.
Package Source kısmındaki options alanından, (+) ekleme butonuna basıyoruz. Nuget Package’larımızın olduğu path’i tanımlıyoruz.
Package Source kısmından tanımladığımız source’u seçiyoruz ve source içerisindeki paketlerimiz listelendi. Nuget Package’ı projeye ekliyoruz.
Artık proje içerisinde DenemeClass ve içerisindeki Methodları rahatlıkla kullanabilirsiniz.