.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ć

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

  1. Instalirajte .NET 10 SDK i podržani IDE. Ciljanje net10.0 zahtijeva Visual Studio 2026; Visual Studio 2022 ga ne podržava. JetBrains Rider i VS Code također rade.

  2. Ažurirajte global.json ako rješenje fiksira verziju SDK-a.

  3. Promijenite ciljni framework u svakom projektu, ili jednom u Directory.Build.props:

    <PropertyGroup>
      <TargetFramework>net10.0</TargetFramework>
    </PropertyGroup>
  4. 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.

  5. 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.

  6. Pokrenite testove i ručno provjerite ono što ne pokrivaju: pokretanje, autentikaciju, pozadinske poslove i pristup podacima.

  7. 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.

  8. 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 restore sada 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 s dotnet nuget why i 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, IWebHost i WebHost su zastarjeli. Program.cs koji potječe iz ASP.NET Corea 2 ili 3 treba prebaciti na minimalni hosting model.
  • Razor runtime kompilacija i IActionContextAccessor su 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 (@city umjesto @__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 stupca json, 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.
  • BackgroundService pokreće cijeli ExecuteAsync kao task, pa kod prije prvog await više ne blokira pokretanje aplikacije.
  • MailAddress odbija 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

© 2026 ProCoding — Sva prava pridržana.Impresum i privatnostSplit, Hrvatska