BUILDING AND MIGRATING .NET CORE LIBRARIES EĞİTİMİ

Kütüphanelerinizi modern .NET'e taşıyın

Çoklu hedefli .NET kütüphaneleri, NuGet paketleme ve .NET Framework'ten .NET'e taşıma

Eğitim, yeniden kullanılabilir .NET sınıf kütüphaneleri geliştirmeyi ve mevcut .NET Framework kütüphanelerini modern .NET'e taşımayı anlatır.

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

.NET sınıf kütüphanesi tasarımı, NuGet paketleme ve .NET Framework'ten modern .NET'e taşıma

Eğitim, yeniden kullanılabilir .NET sınıf kütüphaneleri geliştirmeyi ve mevcut .NET Framework kütüphanelerini modern .NET'e taşımayı anlatır. Çoklu hedefleme, public API tasarımı, SemVer, upgrade-assistant ve Portability Analyzer, PackageReference geçişi, NuGet paketleme, sembol paketleri, reflection, async ve statik analiz konuları uygulamalı işlenir.

Süre ve Format

3 Gün. Her gün dört modül; taşıma ve paketleme adımları canlı örnek üzerinde işlenir.

Seviye

Orta Seviye — 12 uygulamalı modülde .NET (Core) çalışma zamanı temelleri, .NET Framework'ten .NET'e taşıma ve Statik analiz ve kod kalitesi gibi konuları kapsar.

Öğrenme Metodu

Gerçek bir .NET Framework kütüphanesi adım adım SDK stili projeye ve modern .NET'e taşınır; paketleme ve test uygulamalı yapılır.

Neden Bu Eğitim?

📚Yeniden kullanılabilir kod

Ekipler arası paylaşılan kütüphaneleri sürümleme ve geriye uyumlulukla yazmayı öğrenirsiniz.

🔁Güvenli taşıma

Portability Analyzer ve upgrade-assistant ile eski kod tabanlarını sistematik taşırsınız.

📦Paket dağıtımı

NuGet paketini üretir, sembol ve kaynak bağlantısıyla yayınlar, özel feed'de yönetirsiniz.

Anahtar Konular

.net core kütüphaneleri geliştirme ve taşıma eğitimi.net kütüphane geliştirmenuget paketleme.net framework .net core geçişclass librarydotnet packmulti-targetingupgrade assistantpackagereferencenetstandard
“İyi kütüphane, kullanıcısına neyi değiştirmeden bırakacağını sözleşmeyle vaat eder.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
C# deneyimi

Sınıf, arayüz, generic ve async konularında orta düzey C#.

2
Proje yapısı

Solution ve proje referansları ile çalışma deneyimi.

3
Kurulu ortam

Visual Studio 2022 ve .NET SDK; mümkünse eski .NET Framework çözümü.

4
Sürüm kontrolü

Temel Git kullanımı faydalıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı gün sonunda .NET (Core) çalışma zamanı temelleri, Sınıf kütüphanesi tasarımı, Generic türler ve kısıtlar ve SOLID ve temiz kod başlıklarını çalışan örnek kod üzerinde uygulayarak "Modern .NET ve kütüphane tasarımı" konusunda bağımsız çalışabilir hale gelir.
Modül 1
.NET (Core) çalışma zamanı temelleri
  • CLR, JIT, IL ve derleme süreci; Framework ile modern .NET farkı
  • dotnet CLI komutları: new, build, run, test, publish
  • Framework-dependent ve self-contained yayınlama, single-file ve trimming
  • Çok platformlu çalışma: Windows, Linux ve Docker üzerinde aynı kod tabanı
  • appsettings.json, ortam değişkenleri ve IConfiguration kullanımı
  • Microsoft.Extensions.Logging ile yerleşik loglama altyapısı
Modül 2
Sınıf kütüphanesi tasarımı
  • .NET Standard 2.0, .NET 8 ve çoklu hedefleme (TargetFrameworks)
  • Public API yüzeyi, erişim belirleyiciler ve geriye dönük uyumluluk
  • XML dokümantasyonu ve GenerateDocumentationFile
  • Anlamsal sürümleme (SemVer) ve kırıcı değişiklik yönetimi
  • Bağımlılık sayısını azaltma ve DI dostu kütüphane yazma
  • Kütüphane için birim test projesi ve örnek uygulama
Modül 3
Generic türler ve kısıtlar
  • Generic sınıf ve metot yazımı, tür parametresi çıkarımı
  • where T : class, struct, new(), IComparable<T> kısıtları
  • Generic arayüzler ve covariance/contravariance (in/out)
  • default(T) ve generic koleksiyonlarda null yönetimi
  • Generic repository ve generic Result<T> tasarım örneği
  • Generic'lerde performans: boxing'i önleme ve JIT'in değer türleri için özel kod üretimi
Modül 4
SOLID ve temiz kod
  • Single Responsibility ve Open/Closed ilkelerinin C# örnekleriyle uygulanması
  • Liskov ve Interface Segregation ihlallerinin tespiti
  • Dependency Inversion ve Microsoft.Extensions.DependencyInjection ile kompozisyon kökü
  • Anlamlı isimlendirme, kısa metotlar ve yorum yerine ifade eden kod
  • Kod kokuları: Long Method, God Class, Feature Envy ve yeniden yapılandırma adımları
  • Strategy, Factory ve Decorator tasarım desenlerinin pratik kullanımı
Günün hedefiKatılımcı gün sonunda .NET Framework'ten .NET'e taşıma, NuGet paketleme ve yayınlama, Reflection ve özniteliklerde derinleşme ve Birim test pratikleri başlıklarını çalışan örnek kod üzerinde uygulayarak "Taşıma, paketleme ve test" konusunda bağımsız çalışabilir hale gelir.
Modül 1
.NET Framework'ten .NET'e taşıma
  • .NET Portability Analyzer ve try-convert / upgrade-assistant
  • packages.config'ten PackageReference'a geçiş
  • SDK stili csproj dosyasına dönüştürme
  • Windows Compatibility Pack ve uyumsuz API'lerin ele alınması
  • app.config'ten appsettings.json'a yapılandırma taşıma
  • Aşamalı taşıma stratejisi ve paylaşılan kod için netstandard
Modül 2
NuGet paketleme ve yayınlama
  • dotnet pack, nuspec alanları ve paket meta verisi
  • Sembol paketleri (snupkg) ve Source Link
  • Özel feed: Azure Artifacts veya yerel NuGet sunucusu
  • Paket sürümleme, ön sürüm (prerelease) etiketleri
  • Bağımlılık aralıkları ve sürüm çakışması çözümü
  • Paket imzalama ve güvenlik taraması (dotnet list package --vulnerable)
Modül 3
Reflection ve özniteliklerde derinleşme
  • Type, MethodInfo, PropertyInfo ile çalışma zamanında tür inceleme
  • Özel Attribute sınıfı yazma ve AttributeUsage
  • Activator.CreateInstance ve dinamik nesne oluşturma
  • dynamic, ExpandoObject ve DLR kullanımı
  • Reflection maliyeti ve derlenmiş ifade ağaçlarıyla önbellekleme
  • Source generator mantığı ve System.Text.Json kaynak üreticisi örneği
Modül 4
Birim test pratikleri
  • xUnit ile [Fact], [Theory] ve [InlineData] kullanımı
  • Arrange-Act-Assert düzeni ve test adlandırma standartları
  • Moq ile bağımlılık taklidi: Setup, Returns, Verify
  • FluentAssertions ile okunabilir doğrulamalar
  • Test edilebilir tasarım: constructor injection ve arayüz çıkarma
  • Kod kapsama (coverlet) raporu ve anlamlı kapsama hedefi belirleme
Günün hedefiKatılımcı gün sonunda Asenkron programlama, Dosya, JSON ve XML işleme, Bellek yönetimi ve çöp toplama ve Statik analiz ve kod kalitesi başlıklarını çalışan örnek kod üzerinde uygulayarak "Asenkron, G/Ç, bellek ve kalite" konusunda bağımsız çalışabilir hale gelir.
Modül 1
Asenkron programlama
  • Task, Task<T> ve async/await derleyici durum makinesi
  • Task.WhenAll, Task.WhenAny ile paralel I/O birleştirme
  • CancellationToken ile iptal ve zaman aşımı yönetimi
  • async void tuzakları, .Result/.Wait() kaynaklı deadlock
  • ConfigureAwait(false) ne zaman anlamlıdır, SynchronizationContext
  • IAsyncEnumerable<T> ve await foreach ile akış verisi, ValueTask kullanımı
Modül 2
Dosya, JSON ve XML işleme
  • File, Directory ve Path sınıfları ile dosya sistemi işlemleri
  • StreamReader/StreamWriter ve FileStream ile akış tabanlı okuma-yazma
  • System.Text.Json ile JsonSerializer.Serialize/Deserialize ve JsonSerializerOptions
  • JsonPropertyName, JsonIgnore ve özel JsonConverter yazımı
  • XmlSerializer ve XDocument/LINQ to XML ile XML okuma
  • Asenkron dosya I/O ve büyük dosyalarda bellek dostu işleme
Modül 3
Bellek yönetimi ve çöp toplama
  • Stack ve heap ayrımı, değer/referans türlerinin yerleşimi
  • GC nesilleri (Gen0/1/2), LOH ve toplama tetikleyicileri
  • IDisposable deseni, finalizer ve GC.SuppressFinalize
  • Boxing/unboxing maliyeti ve struct tasarım kuralları
  • Span<T>, Memory<T> ve ArrayPool<T> ile ayırma maliyetini azaltma
  • BenchmarkDotNet ile mikro-benchmark ve [MemoryDiagnoser] okuma
Modül 4
Statik analiz ve kod kalitesi
  • Roslyn analyzer'ları ve CA kuralları (CA1062, CA2000 vb.)
  • .editorconfig ile ekip genelinde kural şiddeti belirleme
  • SonarLint/SonarQube ile kod kokusu ve zafiyet taraması
  • StyleCop ile biçim tutarlılığı
  • CI hattında uyarıları hata sayarak derlemeyi durdurma
  • Kod inceleme (code review) kontrol listesi: savunmacı kodlama maddeleri

Eğitim Kazanımları

Program sonunda katılımcılar:

🏗️
Kütüphane tasarımı

Public API yüzeyi ve sürümleme kurallarını bilinçli belirleyebilirsiniz.

🎯
Çoklu hedefleme

netstandard ve net8 için çoklu hedefli proje kurabilirsiniz.

🔍
Uyumluluk analizi

Uyumsuz API'leri analyzer ile tespit edebilirsiniz.

🔄
Proje dönüşümü

packages.config'i PackageReference'a, csproj'u SDK stiline çevirebilirsiniz.

📦
Paket üretimi

dotnet pack ile NuGet paketi üretip yayınlayabilirsiniz.

🧪
Test

Kütüphane için kapsamlı birim test seti kurabilirsiniz.

⚙️
Yapılandırma geçişi

app.config'ten modern yapılandırmaya geçebilirsiniz.

🛡️
Güvenlik

Paket bağımlılıklarının zafiyet taramasını yapabilirsiniz.

Kimler İçin Uygundur?

  • Ortak kütüphane geliştiren
  • eski .NET Framework kod tabanını modernleştirmek isteyen yazılımcılar
  • mimarlar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Ortak kütüphane geliştiren, eski .NET Framework kod tabanını modernleştirmek isteyen yazılımcılar ve mimarlar için uygundur.
Taşıma için hangi araçlar kullanılır?
Portability Analyzer, .NET Upgrade Assistant ve elle yapılan SDK stili dönüşümü birlikte gösterilir.
WPF/WinForms taşıma var mı?
Odak kütüphane taşımasıdır; Windows Compatibility Pack ve UI taşıma için ipuçları verilir.
Kendi kütüphanemi getirebilir miyim?
Evet; uygunsa kendi kütüphaneniz üzerinde uygulama yapılabilir.
Eğitim sonunda sertifika alacak mıyım?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir. Üçüncü taraf kurumların resmi sınavları (varsa) ayrı olup başvurusu ve ücreti ilgili kuruma aittir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Building and Migrating .NET Core Libraries Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

C# ve .NET.NET Core MVC Eğitimi
Yazılım Geliştirme Eğitimleri

.NET Core MVC Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

.NET Core MVC eğitimi: middleware hattı, Razor view'lar, filtreler ve Identity. 3 gün uygulamalı program, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
C# ve .NET.NET Development with Visual Studio Eğitimi
Yazılım Geliştirme Eğitimleri

.NET Development with Visual Studio Eğitimi

3 günBaşlangıçOnline / Yüz Yüze / Hibrit

.NET Development with Visual Studio eğitimi: dotnet CLI, SDK-style proje, debugging ve xUnit testleri. 3 gün uygulamalı program, DVA Katılım ve Başarı Sertifika

Detayları Gör →
C# ve .NET.NET ile Mikroservis Geliştirme Eğitimi
Yazılım Geliştirme Eğitimleri

.NET ile Mikroservis Geliştirme Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

.NET ile Mikroservis Geliştirme: Domain-Driven Design, MassTransit ve RabbitMQ, YARP Gateway, OpenTelemetry. 4 gün uygulamalı eğitim, DVA Katılım Sertifikası.

Detayları Gör →
C# ve .NET.NET ile Modern Uygulama Geliştirme Eğitimi
Yazılım Geliştirme Eğitimleri

.NET ile Modern Uygulama Geliştirme Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

.NET ile Modern Uygulama Geliştirme: Minimal API, Blazor bileşenleri, Native AOT/ReadyToRun, Docker ve CI/CD. 3 gün uygulamalı eğitim, DVA Katılım Sertifikası.

Detayları Gör →
C# ve .NET.NET Microservices Eğitimi
Yazılım Geliştirme Eğitimleri

.NET Microservices Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

.NET Microservices: Saga/Outbox, MassTransit consumer, Polly circuit breaker, Kubernetes Deployment. 4 gün uygulamalı eğitim, DVA Katılım Sertifikası.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn