Podpora net core 2.2 skončí v prosinci. čeká nás migrace na Net Core 3.x

Miroslav Holec       05.11.2019       .NET Core, ASP.NET Core       459 zobrazení

Current / LTS

Doposud platilo pravidlo, že s každou novou major verzí frameworku (1.0, 2.0, 3.0) přichází určité breaking changes a daná verze se na světě příliš dlouho neohřeje. Vždy se jedná o verzi, která se krátce po vydání záplatuje a nezřídka i mění v závislosti na zpětné vazbě od vývojářů nebo na základě analýzy využití. Taková verze je při svém vzniku označována jako current a velmi brzy ji nahrazuje nová minor verze. U té se počítá s delší životností a najdete ji zpravidla s tagem LTS. Klíčový rozdíl je v tom, že zatímco current verze (např.: 2.0.x) přechází do maintenance módu po dobu 3 měsíců, LTS verze jsou záplatovány a supportovány další 3 roky od prohlášení, že jsou LTS.

NET Core 2.2

Zrovna .NET Core 2.2 navázal na verzi 2.1 LTS a přinesl drobná vylepšení. Pokud jste aplikaci zmigrovali nebo postavili na verzi 2.2, jste právě na maintenance větvi a podpora vaší verze bude ukončena v prosinci tohoto roku. Předpokládá se, že vaše nadšení z migrování na nové verze bude i nadále pokračovat a přejdete na .NET Core 3.x.

V budoucnu by měly být LTS vždy sudé major verze frameworku (.NET 6, .NET 8, .NET 10). Verze .NET 5, která vyjde příští rok v listopadu nebude tedy LTS verze. To jsou ale vzdušné zámky Microsoftu a z mého pohledu to dopadne jinak.

Co mám tedy dělat?

Záleží, jak moc vám vadí, že vaše verze frameworku nebude od 24. prosince záplatována. Máte-li aplikaci, která neběží produkčně, nemusíte s migrací nijak spěchat. V případě produkčně nasazených aplikací a zejména těch, které jste předali klientům a teď jen tak běží bez povšimnutí bych se přimluvil za upgrade (nebo downgrade).

Downgrade na 2.1

Verze 2.1 a 2.2 se od sebe tolik neliší a downgrade vás na rozdíl od upgrade nebude stát téměř žádné úsilí. Pokud jste postavili nevědomě aplikaci na verzi 2.2, teď ji máte někde zahostovanou a nechcete ji nijak rozvíjet, pak bych šel cestou nejmenšího odporu a přešel na verzi 2.1. Ovšem pozor u REST API. Chování verzí 2.0/2.1/2.2 se v určitých ohledech liší a pokud využíváte naplno například Problem Details, šel bych raději cestou upgrade na 3.x.

Upgrade na 3.x (doporučeno)

V ostatních případech bude vhodné (a mohu doporučit) migrovat na verzi 3.0 nebo si počkat na verzi 3.1, která vyjde teď v listopadu a bude LTS. Mezi verzemi 3.0 a 3.1 nebude žádný zásadní rozdíl, takže případný swap z 3.0 na 3.1 bude formalita v podobě změny target frameworku a možná pár drobností.

Je migrace z 2.2 na 3.x složitá?

Samotná migrace technicky složitá není a vyžaduje jen několik kroků. Trochu složitější to může být v případě, že mixujete různé technologie (např.: REST API + MVC / Razor Pages / Endpoints) a každý mechanismus používá odlišné přístupy co do autorizace, CORS nebo cachování. Potíže se mohou objevit i pokud používáte vlastní serializaci pomocí Newtonsoft.Json či jiného serializeru. Dále jsem pozoroval potíže s generováním dokumentace Swagger + dodatečnými NuGet balíčky. Samotnou kapitolou je EF Core, který už není součástí frameworku a jehož verze 3.0 vyžaduje targetování na NET Standard 2.1.

Verze 3.0 přináší revoluční změny v podobě generic hosta a především v novém endpoint routingu. Společně s novým serializerem se jedná o změny, které vyžadují nejen přepis pár řádků kódu, ale zejména pochopení celé myšlenky a upraveného mechanismu.

Půldenní školení: Novinky a změny v ASP.NET Core 3.x

Nehcete-li se prokousávat dokumentací, přijďte na mé půldenní školení v Praze v PwC. Vysvětlím, jaké změny přináší nová verze frameworku a co musíte udělat pro update. Kromě praktických ukázek především vysvětlím, proč Microsoft dané změny udělal a proč jsou pro vývoj aplikací v .NET Core tolik důležité.

Osnova

  • změny v target frameworks
  • změny v modelech hostování
  • generic host a konfigurace aplikace
  • změny v registraci webových služeb do DI
  • endpoint routing a související změny
  • evoluce v používání dotnet tools
  • diagnostické nástroje
  • nový JSON serializer
  • další vylepšení frameworku

Informace o školení a registrace je možná na mém webu zde...

 

hodnocení článku

0       Hodnotit mohou jen registrované uživatelé.

 

 

 

Nový příspěvek

 

Příspěvky zaslané pod tento článek se neobjeví hned, ale až po schválení administrátorem.

                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

Příspěvky zaslané pod tento článek se neobjeví hned, ale až po schválení administrátorem.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback