Prelazak s .NET Frameworka na .NET 10: koliko je to posla i kako krenuti

Aplikacija na .NET Frameworku 4.x radi, ali je nitko ne želi dirati? Je li .NET 10 hitan, što prelazi lako, što ne i kako krenuti bez zaustavljanja rada.

Vlado Pandžić

Vlado Pandžić · Osnivač · Senior .NET arhitekt
Objavljeno · 4 min čitanja

Aplikacija na .NET Frameworku 4.x radi već deset godina. Posao se na njoj vrti, kupci je koriste i nitko je ne želi dirati. A onda se skupi nekoliko stvari odjednom: nova biblioteka koju trebate više ne podržava Framework, dobar kandidat za posao odbije ponudu kad čuje na čemu bi radio, a hosting se ne može prebaciti u kontejnere ni na Linux.

Prelazak na moderni .NET tada više nije pitanje hoće li, nego kako i kojim redom.

Je li hitno?

Iskreno: nije kao požar. .NET Framework 4.8.1 je zadnja verzija i Microsoft ga podržava sve dok radi na podržanoj verziji Windowsa, a datum kraja nije najavljen. Sigurnosne zakrpe stižu.

Ali to je slijepa ulica. Nove mogućnosti, performanse i biblioteke stižu samo u moderni .NET, a .NET 10 je izdanje s dugoročnom podrškom do studenog 2028. Svaka godina na Frameworku znači više koda za prebaciti kasnije i manje ljudi koji ga žele održavati. Najjeftiniji trenutak za prelazak je onaj prije nego vas nešto natjera.

Što prelazi lako, a što ne

Dio aplikacije Koliko je teško Kako
Biblioteke s poslovnom logikom Lako Većina koda radi bez promjena, uz novi format projekta
Entity Framework 6 Lako Radi i na modernom .NET-u, a prelazak na EF Core može kasnije
Windows Forms i WPF Srednje Prelaze, ali ostaju aplikacije samo za Windows
ASP.NET MVC i Web API Srednje Kontroleri su slični, a pokretanje, filteri i prijava se mijenjaju
WCF klijenti Srednje Klijentski paketi postoje za moderni .NET
WCF servisi Teže CoreWCF, ili prelazak na REST ili gRPC
Web Forms Najteže Ne postoji u modernom .NET-u, pa se ekrani grade iznova, npr. u Blazoru
AppDomains, Remoting, Code Access Security Najteže Ne postoje, pa taj dio treba osmisliti drukčije

Većina poslovnih aplikacija ima nešto iz svakog retka, pa je prava procjena uvijek zbroj dijelova. Iz tablice se vidi i gdje je glavnina posla: u web sloju i u starim tehnologijama, a ne u poslovnoj logici.

Kako krenuti

  1. PopisProjekti, paketi, ovisnosti
  2. BibliotekeOdozdo prema gore, za oba svijeta
  3. Web slojNova aplikacija ispred stare
  4. GašenjeStari dio se isključuje
  1. Popis. Svi projekti, NuGet paketi i ovisnosti, s označenim dijelovima iz donjih redaka tablice. Microsoftov alat za modernizaciju u GitHub Copilotu pomaže pronaći što se neće prevesti, ali odluke o redoslijedu i dalje donosi čovjek.

  2. Biblioteke, odozdo prema gore. Prvo projekti o kojima nitko ne ovisi, pa oni iznad njih. Svaka biblioteka prvo prelazi na novi format projekta, a zatim se gradi za oba svijeta odjednom. Tako stara aplikacija i dalje radi, a novi kod već koristi iste biblioteke:

    <PropertyGroup>
      <TargetFrameworks>net48;net10.0</TargetFrameworks>   <!-- ista biblioteka za staru i novu aplikaciju -->
    </PropertyGroup>

    Ono što nedostaje u modernom .NET-u, a koristi se samo na Windowsu, često pokrije Microsoftov Windows Compatibility Pack s dvadesetak tisuća API-ja.

  3. Web sloj, dio po dio. Nova ASP.NET Core aplikacija stane ispred stare i preuzima jednu po jednu rutu, a sve ostalo prosljeđuje staroj. Korisnici ne primjećuju prelazak, prijava i sesija su zajedničke, i nema velikog dana kad se sve mijenja odjednom. Za Web Forms to je isti postupak koji opisujemo na stranici o prelasku s Web Formsa na Blazor.

  4. Gašenje. Kad zadnja ruta prijeđe, stara aplikacija se isključuje, a biblioteke se mogu riješiti starog cilja net48.

Koliko je to posla

Ovisi gotovo isključivo o web sloju i o donjim redcima tablice. Biblioteke s poslovnom logikom često su pitanje dana ili tjedana. Manja ASP.NET MVC aplikacija obično je pitanje tjedana, a velika Web Forms aplikacija ili sustav na WCF servisima pitanje mjeseci, ali i tada dio po dio, uz aplikaciju koja cijelo vrijeme radi.

Najskuplji pristup je prepisati sve od nule i paralelno održavati staro. O tome zašto prepisivanje od nule rijetko uspijeva pisali smo u članku o tehničkom dugu.

Kako mi radimo

ProCoding je .NET studio iz Splita, a modernizacija starih .NET sustava jedno je od onoga što radimo najčešće. Počinjemo procjenom: popis projekata i ovisnosti, što prelazi lako, što treba preraditi i kojim redom, s okvirnim trudom za svaki dio. Prvi korak je besplatni razgovor od 30 minuta.

Izvori

Ovaj članak služi općem informiranju i nije pravni, porezni, financijski ni drugi stručni savjet. Scenariji, primjeri i izračuni su ilustrativni. Uvjeti korištenja i odricanje od odgovornosti.

Povezani članci

© 2026 ProCoding — Sva prava pridržana.Impresum i privatnostUvjeti korištenjaSplit, Hrvatska