.NET 8 i .NET 9 gube podršku 10. studenog 2026.: kako nadograditi na .NET 10
Microsoft 10. studenog 2026. prestaje izdavati sigurnosna ažuriranja za .NET 8 i .NET 9. Što to znači, što se kvari i kako prijeći na .NET 10 LTS.
Vlado Pandžić · Osnivač · Senior .NET arhitekt
Objavljeno · 4 min čitanja
Microsoft prestaje podržavati .NET 8 i .NET 9 10. studenog 2026. Od tog dana nijedna od te dvije verzije ne dobiva sigurnosna ažuriranja. Cilj nadogradnje je .NET 10, izdanje s dugoročnom podrškom (LTS) koje je podržano do studenog 2028. Za većinu poslovnih aplikacija nadogradnja traje danima, a ne mjesecima, ako znate gdje gledati.
Na koje se verzije odnosi
| Verzija | Podrška | Kraj podrške |
|---|---|---|
| .NET 8 | LTS | 10. studenog 2026. |
| .NET 9 | STS | 10. studenog 2026. |
| .NET 10 | LTS | studeni 2028. |
.NET 9 završava istog dana kad i .NET 8 jer se izdanja sa standardnom podrškom sada podržavaju 24 mjeseca umjesto 18.
Što znači kraj podrške
Aplikacije na .NET-u 8 i .NET-u 9 nastavljaju raditi i nakon 10. studenog. Ono što prestaje:
- Sigurnosna ažuriranja. Ranjivosti otkrivene nakon tog datuma ostaju otvorene u produkciji.
- Tehnička podrška Microsofta.
- Čist nalaz revizije. Sigurnosni skeneri označavaju nepodržane runtimeove, a to se vidi u sigurnosnim upitnicima klijenata i certifikacijama.
Idite izravno s .NET-a 8 na .NET 10
Nema potrebe za stajanjem na .NET-u 9. I .NET 8 i .NET 10 su LTS izdanja i možete prijeći izravno. Samo pročitajte promjene koje kvare kompatibilnost i za .NET 9 i za .NET 10.
Kontrolna lista za nadogradnju
-
Instalirajte .NET 10 SDK i podržani IDE. Ciljanje
net10.0zahtijeva Visual Studio 2026; Visual Studio 2022 ga ne podržava. JetBrains Rider i VS Code također rade. -
Ažurirajte
global.jsonako rješenje fiksira verziju SDK-a. -
Promijenite ciljni framework u svakom projektu, ili jednom u
Directory.Build.props:<PropertyGroup> <TargetFramework>net10.0</TargetFramework> </PropertyGroup> -
Ažurirajte Microsoftove pakete (ASP.NET Core, EF Core,
Microsoft.Extensions.*) na 10.x, zatim provjerite ima li svaki paket treće strane verziju koja podržava .NET 10. -
Buildajte i riješite upozorenja. Zastarjeli API-ji pojavljuju se kao upozorenja. Ako se upozorenja tretiraju kao greške, najveći dio posla je ovdje.
-
Pokrenite testove i ručno provjerite ono što ne pokrivaju: pokretanje, autentikaciju, pozadinske poslove i pristup podacima.
-
Ažurirajte pipeline i hosting: slike za CI build, Docker osnovne slike (
mcr.microsoft.com/dotnet/aspnet:10.0), ASP.NET Core Hosting Bundle na IIS-u ili runtime stack na Azure App Serviceu. -
Prvo isporučite na testno okruženje i pratite bazu podataka prvih sati nakon produkcijskog izdanja (vidi EF Core niže).
Promjene koje kvare kompatibilnost, a koje treba prve provjeriti
Microsoftovi popisi su dugi. Ovo su promjene koje najčešće pogađaju poslovne web aplikacije.
SDK i build
dotnet restoresada provjerava tranzitivne pakete u projektima koji ciljaju .NET 10. Poznate ranjivosti u ovisnostima vaših ovisnosti pojavljuju se kao upozorenja NU1901–NU1904, a ako se upozorenja tretiraju kao greške, build se zaustavlja. Pronađite izvor sdotnet nuget whyi ažurirajte paket umjesto da skrivate upozorenje.
ASP.NET Core 10
- Preusmjeravanja na prijavu preko kolačića isključena su za poznate API endpointe. Umjesto preusmjeravanja na stranicu za prijavu, API endpointi sada vraćaju 401 ili 403. Bolje za API-je, ali provjerite frontende koji su se oslanjali na preusmjeravanje.
WebHostBuilder,IWebHostiWebHostsu zastarjeli.Program.cskoji potječe iz ASP.NET Corea 2 ili 3 treba prebaciti na minimalni hosting model.- Razor runtime kompilacija i
IActionContextAccessorsu zastarjeli.
Entity Framework Core 10
- Kolekcije u upitima kao što je
ids.Contains(x.Id)sada se prevode u više SQL parametara umjesto jednog JSON parametra. Obično brže, ali izmjerite upite koji prosljeđuju duge liste. - Nazivi SQL parametara su jednostavniji (
@cityumjesto@__city_0). Gotovo svaki spremljeni plan upita ponovno se kompajlira nakon isporuke, pa očekujte kratak skok opterećenja procesora baze. - Na Azure SQL-u (
UseAzureSql) EF sada mapira JSON na novi tip stupcajson, a prva migracija nakon nadogradnje mijenja postojeće JSON stupce.
Runtime i kontejneri
- Zadane kontejnerske slike koriste Ubuntu 24.04 umjesto Debiana, a Debian slike se više ne objavljuju. Provjerite Dockerfileove koji instaliraju sistemske pakete.
BackgroundServicepokreće cijeliExecuteAsynckao task, pa kod prije prvogawaitviše ne blokira pokretanje aplikacije.MailAddressodbija uzastopne točke i System.Text.Json provjerava sukobe naziva svojstava. Male promjene koje isplivaju kao greške validacije ili serijalizacije.
Koliko to traje
Okvirni rasponi za rješenje koje ima testove:
- jedan API ili servis: od nekoliko sati do jednog dana
- tipična poslovna aplikacija s bazom podataka i frontendom: od 2 do 5 dana
- veliko rješenje s mnogo projekata, starim ovisnostima ili prilagođenim buildom: od 1 do 3 tjedna
Sam framework rijetko je spori dio. Spori dio su paketi trećih strana bez verzije za .NET 10 i testovi koji nedostaju.
Još ste na .NET Frameworku?
Onda se 10. studenog na vas ne odnosi, ali se odnosi veća odluka. .NET Framework 4.8 i dalje dobiva sigurnosne popravke, ali ne i nove mogućnosti, a ASP.NET Web Forms nema put nadogradnje na moderni .NET. Ovako prebacujemo Web Forms u Blazor, ekran po ekran, dok stara aplikacija i dalje radi.
Izvori
- .NET 8 and .NET 9 will reach End of Support on November 10, 2026, .NET Blog
- Breaking changes in .NET 10, Microsoft Learn
- Breaking changes in ASP.NET Core 10, Microsoft Learn
- Breaking changes in EF Core 10, Microsoft Learn
- Targeting .NET 10 in Visual Studio 2022 is not supported, dotnet/sdk na GitHubu