C# ja .Neti versiooni ajalugu

⚡ Nutikas kokkuvõte

C# ja .NET versiooniajalugu trackuidas Microsoft arendas oma keelt ja raamistikku alates 2002. aasta .NET Framework 1.0 ja C# 1.0 väljalaskest kuni moodsate, platvormideüleste .NET 10 ja C# 14-ni 2025. aastal.

  • Päritolu: .NET Framework 1.0 ja C# 1.0 avaldati koos 2002. aastal Windows arengut.
  • 🧱 .NET-i raamistik: . WindowsAinult liin jõudis 2022. aastal versioonini 4.8.1 ja saab nüüd ainult turvaparandusi.
  • 🔀 Nihe: .NET Core, hiljem ümber nimetatud .NET-iks, asendas raamistiku platvormideülese avatud lähtekoodiga käituskeskkonnaga.
  • 🆕 Viimane väljalase: .NET 10 ja C# 14 saabusid 2025. aasta novembris pikaajalise toega versioonina.
  • ???? C# kasv: Iga väljalase lisas funktsioone, nagu geneerilised elemendid, asünkroonne/ootav funktsioon, kirjed ja primaarsed konstruktorid.
  • 🤖 Tehisintellekti olulisus: ML.NET, ONNX Runtime ja GitHub Copilot toovad masinõppe ja tehisintellekti abi tänapäevasesse C#-sse.

C# ja .NET versiooniajalugu

.Net Frameworki versiooni ajalugu

.Net Frameworki esimene versioon ilmus aastal 2002. Versiooni nimi oli .Net Framework 1.0. Sellest ajast alates on .Net Framework pika tee läbinud ja uusim versioon on 4.8.1, mis ilmus 2022. aastal. Uuem arendus on sellest ajast alates liikunud platvormideülesele .NET platvormile (endine .NET Core).

Allpool on tabel avaldatud .Net raamistiku versioonidest koos nende väljalaskekuupäevadega. Igas versioonis on raamistikus olulisi muudatusi.

Näiteks raamistikus 3.5 ja hilisemates on võtmeraamistik nimega Olemi raamistik ilmus. Seda raamistikku kasutatakse rakenduste arendamise lähenemisviisi muutmiseks töötamise ajal andmebaasid.

Versiooni number CLR versioon Väljalaske kuupäev
1.0 1.0 2002-02-13
1.1 1.1 2003-04-24
2.0 2.0 2005-11-07
3.0 2.0 2006-11-06
3.5 2.0 2007-11-19
4.0 4 2010-04-12
4.5 4 2012-08-15
4.5.1 4 2013-10-17
4.5.2 4 2014-05-05
4.6 4 2015-07-20
4.6.1 4 2015-11-17
4.6.2 4 2016-08-02
4.7 4 2017-04-05
4.7.1 4 2017-10-17
4.7.2 4 2018-04-30
4.8 4 2019-04-18
4.8.1 4 2022-08-09

Suurim eelis .Net raamistik on see, et see toetab Windows platvorm, millega peaaegu kõik töötavad. Microsoft tagab alati, et .Neti raamistikud on kooskõlas kõigi toetatavatega Windows operatsioonisüsteemidele.

Versioon 4.8.1 on .Net Frameworki viimane suurem väljalase. See jääb toetatuks sisseehitatud osana. Windows komponent, aga Microsoft pakub nüüd uusi funktsioone ainult allpool kirjeldatud moodsa .NET platvormi kaudu.

C# versiooni ajalugu

C# on arenenud koos raamistikuga, lisades peaaegu iga väljalaskega olulisi keelefunktsioone. Allolev tabel seob iga C# versiooni selle .NET platvormi ja Visual Studio väljalaskega koos peamiste funktsioonidega, mis sellega kaasnesid.

versioon .NET / raamistik Visual Studio Olulised funktsioonid
C # 1.0 .NET Framework 1.0/1.1 Visual Studio .NET 2002 C# esimene väljalase
C # 2.0 .NET Framework 2.0 Visual Studio 2005 Üldnimetused, osatüübid, anonüümsed meetodid, nullitavad tüübid, iteraatorid, kovariatsioon ja kontravariatsioon
C # 3.0 .NET Framework 3.0/3.5 Visual Studio 2008 Automaatselt rakendatavad omadused, anonüümsed tüübid, päringuavaldised, lambda-avaldised, avaldispuud, laiendusmeetodid
C # 4.0 .NET Framework 4.0 Visual Studio 2010 Dünaamiline sidumine, nimetatud/valikulised argumendid, üldine kovariatsioon ja kontravariatsioon, manustatud interop-tüübid
C # 5.0 .NET Framework 4.5 Visual Studio 2012/2013 Asünkroonsed liikmed, helistaja teabe atribuudid
C # 6.0 .NET Framework 4.6 Visual Studio 2013/2015 Staatiline import, erandite filtrid, omaduste initsialiseerijad, avaldiskehadega liikmed, nullpropagaator, stringi interpoleerimine, operaator nameof, sõnastiku initsialiseerija
C # 7.0 .NET Framework 4.6.2 / .NET Core Visual Studio 2017 Väljundmuutujad, tuupled ja dekonstruktsioon, mustrite sobitamine, lokaalsed funktsioonid, viitelokaalid ja tagastatud väärtused, avaldiskehadega liikmed
C # 8.0 .NET Core 3.0 Visual Studio 2019 Nullitavad viitetüübid, lülitusalvaldised, asünkroonsed vood, vaikeliidese meetodid, vahemikud ja indeksid
C # 9.0 .NET 5 Visual Studio 2019 Kirjed, ainult init-funktsiooniga setterid, tipptasemel laused, mustrite sobitamise täiustused
C # 10 .NET 6 Visual Studio 2022 Globaalne direktiivide, failiulatuslike nimeruumide, kirjestruktuuride ja konstantsete interpoleeritud stringide abil
C # 11 .NET 7 Visual Studio 2022 Toores stringi literaalid, nõutavad liikmed, üldine matemaatika, loendimustrid, UTF-8 stringi literaalid
C # 12 .NET 8 Visual Studio 2022 Primaarsed konstruktorid, kollektsiooniavaldised, reasisesed massiivid, valikulised lambda parameetrid, mis tahes tüüpi alias
C # 13 .NET 9 Visual Studio 2022 parameetrite kogud, uus lukustustüüp, \e paosekvents, kaudne indeksile juurdepääs, viide ja unsafe iteraatorites
C # 14 .NET 10 Visual Studio 2022 Laiendusliikmed, märksõna väli, nulltingimuslik omistamine, kaudsed ulatuse teisendused, failipõhised rakendused

Mis vahe on .NET Frameworkil ja .NET Core'il?

.NET Framework ja .NET Core esindavad sama idee kahte põlvkonda. .NET Framework, mis ilmus esmakordselt 2002. aastal ja külmutati versioonile 4.8.1, töötab ainult järgmistel platvormidel: Windows ja see on installitud süsteemikomponendina. .NET Core, mis võeti kasutusele 2016. aastal, on täiesti ümberkirjutatud versioon, mis töötab Windows, Linux ja macOSAlates versioonist 5 Microsoft jättis sõna „Core” välja ja nimetas toote lihtsalt „.NET”, jätke vaheleping number 4, et vältida segiajamist vanema raamistikuga.

Kõige olulisemad erinevused on järgmised:

  • platvorm: .NET raamistik on Windows-ainult, samas kui tänapäevane .NET on platvormideülene.
  • Allika mudel: Modern .NET on täielikult avatud lähtekoodiga ja seda arendatakse GitHubis avalikult.
  • Kasutamine: Kaasaegne .NET toetab kõrvuti versioone ja iseseisvaid rakendusi; masina kohta saab eksisteerida ainult üks .NET Framework 4.x.
  • Performance: Tänapäevase .NET-i taga olev CoreCLR-i käituskeskkond on peaaegu igas läbilaskevõime võrdlusaluses kiirem.
  • Tulevik: .NET Framework saab ainult turvaparandusi, samas kui tänapäevane .NET saab kõik uued funktsioonid.

Kuidas kontrollida oma .NET Frameworki versiooni

Installitud versiooni teadmine aitab teil enne rakenduse käivitamist või loomist ühilduvust kinnitada. Windows Installitud .NET Frameworki versiooni saate kontrollida mitmel viisil:

  • Registriredaktor: avatud regedit ja navigeerige HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Frameworki seadistus\NDP\v4\Full. Vabastage DWORD viitab versioonile; näiteks 528040 või uuem näitab versiooni 4.8 ja 533320 või uuem näitab versiooni 4.8.1.
  • Käsurida: jooks registreerimispäring „HKLM\SOFTWARE\Microsoft\Net Frameworki seadistus\NDP\v4” /s versioonivõtmete loetlemiseks.
  • PowerShell: jooks Get-ItemProperty „HKLM:\TARKVARA\Microsoft„\NET Frameworki seadistus\NDP\v4\Full” | Objekti valiku väljalase ja võrrelge numbrit ametliku kaardigaping.
  • Failihaldur: avatud C: \Windows\Microsoft.NET\Framework, sisestage kõrgeim v4.0.30319 kausta, paremklõpsake suvalisel DLL-failil ja lugege toote versiooni.

Moodsa .NET-i kontrollimiseks raamistiku asemel avage terminal ja käivitage dotnet –list-sdks ja dotnet –list-runtimesvõi dotnet –versioon aktiivse SDK jaoks. Need käsud toimivad Windows, Linux ja macOS.

Kui tihti avaldatakse uusi C# ja .NET versioone?

Alates .NET 5-st 2020. aastal Microsoft on igal novembril välja andnud suurema .NET-i versiooni ja igaühega kaasneb sobiv C# keele versioon. See etteaimatav iga-aastane rütm asendas vana .NET Frameworki ajastu aeglasema ja vähem regulaarse ajakava.

Väljalasked järgnevad kahele toele tracks:

  • Pikaajaline tugi (LTS): Paarisarvulised versioonid, näiteks .NET 8 ja .NET 10, saavad kolmeks aastaks parandusi ja neid soovitatakse tootmiskeskkonnas kasutamiseks.
  • Standardne tugi (STS): Paaritute numbritega versioonid, näiteks .NET 9, saavad kaheksateist kuud tuge ja sobivad ideaalselt uusimate funktsioonide varajaseks kasutuselevõtuks.

.NET Framework ei järgi seda rütmi üldse. See peatus versioonil 4.8.1 ja jääb samaks, seega versiooni valuuta kehtib nüüd ainult tänapäevasele .NET-i reale ja selle C#-väljaannetele.

KKK

C# 14 on uusim versioon, mis avaldati 11. novembril 2025 koos .NET 10-ga. See lisas laiendusliikmed, märksõna field, null-tingimusliku omistamise ja kaudsed span-teisendused. Kuna .NET 10 on pikaajalise toega versioon, on C# 14 uute projektide jaoks stabiilne valik.

Jah. The .NET Framework 4.8.1 jääb toetatuks Windows operatsioonisüsteemi komponent ja saab turva- ja töökindluse parandusi. Siiski Microsoft ei lisa sellele uusi funktsioone, seega on enamik uusi arendusi suunatud moodsale .NET-ile, mitte Frameworkile.

Uue projekti jaoks vali moodne .NET, hetkel .NET 10. See on platvormideülene, kiirem, avatud lähtekoodiga ja aktiivselt arendatav. Olemasolevate haldamine peaks olema .NET Frameworki otstarve. Windows- ainult rakendused, mis sõltuvad teekidest, mida uuem platvorm ei toeta.

Pikaajalise toe (LTS) versioonid, näiteks .NET 8 ja .NET 10, saavad kolmeaastase garantii ja parandused. Standardse toe (STS) versioonid, näiteks .NET 9, saavad kaheksateist kuud. Microsoft saadab igal novembril välja ühe suurema .NET-i versiooni, vaheldumisi kahe versiooni vahel.

Microsoft eemaldas .NET 5-st 2020. aastal sõna Core, et tähistada ühte ühtset platvormi. Versioon hüppas 3.1-lt 5-le, jäta vaheleping 4, et vältida segiajamist .NET Framework 4.x-ga. Sellest ajast alates nimetatakse toodet lihtsalt .NET-iks.

Visual Studio 2022 toetab täielikku .NET Frameworki kuni versioonini 4.8.1 ja kõiki moodsaid .NET-i versioone kuni .NET 10-ni koos C# 14-ga. Vanemad väljaanded, näiteks Visual Studio 2019, ulatuvad C# 8 ja varasemate raamistiku versioonideni.

Jah. ML.NET treenib ja käitab mudeleid otse C#-s ning ONNX Runtime käivitab eelkoolitatud süvaõppe mudeleid. Microsoft.Extensions.AI teegid ühendavad .NET-rakendusi suurte keelemudelitega, nii et saate lisada intelligentseid funktsioone ökosüsteemist lahkumata.

Jah. GitHub Copilot soovitab Visual Studios C# koodi ja VS Code ja aitab projektide .NET-i versioonide vahel uuendamisel. Käsitle selle väljundit esimese mustandina ja vaata see üle, kuna genereeritud koodist võivad puududa versioonipõhised API-d või äärmusjuhtumid.

Võta see postitus kokku järgmiselt: