.Net 5 Geçiş Süreci

Merhabalar,

Bu yazıda .Net Core 3.1 versiyonundan .Net 5.0 versiyonuna geçiş sürecinden bahsedeceğim.

Geçiş süreci .Net Framework’ünden .Net Core’a geçiş gibi zor olmadı. Daha önce yayınladığımız .NET Framework’ten .NET Core‘a göç hikayemize buradan ulaşabilirsiniz. Microsoft ilerisi için .Net Core 3.1'e geçmemizi önermişti ve biz de geç olmadan kütüphanelerimizi .Net Core 3.1'e yükseltmiştik. Bundan dolayı kütüphanelerimizi sadece kullandığımız paketleri yükselterek .Net 5.0'a kolayca yükseltmiş olduk.

.NET 5 Nedir?

Açık kaynak kodlu olarak geliştirilen, cross platform olarak çalışabilen geliştirme platformudur.

Microsoft’un .Net Core 3.1'den sonra .Net 5 ile devam etmesindeki amaç .Net Core, Xamarin, Unity gibi tüm frameworkleri tek bir çatı altında toplamaktı.

Başlayalım

Target Framework

Geçişe ile olarak csproj içindeki hedep kütüphaneyi değiştirerek başladım.

.netcoreapp3.1 -> .net5.0

targetframework

If Blokları

Kütüphanemiz birden fazla frameworkte çalıştığı için gerekti yerlerde if blokları kullanıyoruz.

NETCOREAPP -> NET5_0

if bloğu

Microsoft Paketleri

Microsoft’un 3.1'den 5.0'a adındaki makalesinde belirttiği Microsoft.AspNetCore.*, Microsoft.EntityFrameworkCore.*, Microsoft.Extensions.*, ve System.Net.Http.Json paketlerini 5.0.0 veya en son sürümlerine yükselttik.

Microsoft.EntityFrameworkCore 3.1.1 -> 5.0.0
Microsoft.EntityFrameworkCore.Relational 3.1.1 -> 5.0.0
Microsoft.EntityFrameworkCore.InMemory 3.1.1 -> 5.0.0
Microsoft.EntityFrameworkCore.Tools 3.1.1 -> 5.0.0
Microsoft.AspNetCore.Authentication.OpenIdConnect 3.1.1 -> 5.0.0
Microsoft.AspNetCore.Owin 2.2.0 ->5.0.0
Microsoft.AspNetCore.DataProtection.Abstractions 3.1.1 -> 5.0.0
Microsoft.AspNetCore.Mvc.Testing 3.1.7 -> 5.0.0
Microsoft.Extensions.Logging.Debug 3.1.1 -> 5.0.0

Fluent Validation

Objeleri doğrulamak için kullandığımız Fluent Validation paketini çalışmadığı için en son sürüme yükseltmemiz gerekti.

FluentValidation 8.5.1 -> 9.3.0
FluentValidation için küçük değişiklik

Npgsql

Npgsql.EntityFrameworkCore.PostgreSQL 3.1.3 -> 5.0.0

bitbucket-pipelines.yml

Pipeline için docker image adresini ve birkaç klasör yolunu değiştirmemiz yeterli oldu.

Net 5.0 Docker Image

publish.pubxml

publish.pubxml

Evet bu kadar 🙂 .Net Core 3.1'den .Net 5 geçiş sürecimizi sizlerle paylaşmak istedik.

Yeni hikayelerde buluşmak üzere…

--

--