C# en .Net versiegeschiedenis
⚡ Slimme samenvatting
Versiegeschiedenis van C# en .NET traces hoe Microsoft De taal en het framework zijn geëvolueerd van de release van .NET Framework 1.0 en C# 1.0 in 2002 tot het moderne, platformonafhankelijke .NET 10 en C# 14 in 2025.

.Net Framework-versiegeschiedenis
De eerste versie van het .NET Framework werd uitgebracht in 2002. Deze versie heette .NET Framework 1.0. Het .NET Framework heeft sindsdien een lange weg afgelegd en de meest recente versie is 4.8.1, uitgebracht in 2022. De recentere ontwikkeling is verschoven naar het platformonafhankelijke .NET-platform (voorheen .NET Core).
Hieronder vindt u een tabel met de uitgebrachte .NET Framework-versies en hun releasedatums. Elke versie bevat relevante wijzigingen in het framework.
In framework 3.5 en latere versies wordt bijvoorbeeld een belangrijk framework genaamd Entiteitsframework werd uitgebracht. Dit framework wordt gebruikt om de aanpak te veranderen waarmee applicaties worden ontwikkeld tijdens het werken met databanken.
| Versienummer | CLR-versie | Datum van publicatie |
|---|---|---|
| 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 |
Het grootste voordeel van de .Net-framework is dat het de ondersteuning biedt Windows platform waarmee bijna iedereen werkt. Microsoft zorgt er altijd voor dat .Net-frameworks voldoen aan alle ondersteunde Windows besturingssystemen.
Versie 4.8.1 is de laatste grote release van het .NET Framework. Het wordt nog steeds ondersteund als een ingebouwd onderdeel. Windows onderdeel, maar Microsoft Nieuwe functies worden nu alleen nog aangeboden via het moderne .NET-platform dat hieronder wordt beschreven.
C#-versiegeschiedenis
C# is meegeëvolueerd met het framework en heeft met bijna elke release belangrijke nieuwe taalfunctionaliteiten gekregen. De onderstaande tabel koppelt elke C#-versie aan het bijbehorende .NET-platform en de Visual Studio-release, samen met de belangrijkste nieuwe functies.
| Versie | .NET / Framework | Visual Studio | Belangrijke mogelijkheden |
|---|---|---|---|
| C # 1.0 | .NET Framework 1.0/1.1 | Visual Studio.NET 2002 | Eerste release van C# |
| C # 2.0 | . NET Framework 2.0 | Visual Studio 2005 | Generieke typen, gedeeltelijke typen, anonieme methoden, nullable typen, iterators, covariantie en contravariantie |
| C # 3.0 | .NET Framework 3.0/3.5 | Visual Studio 2008 | Automatisch geïmplementeerde eigenschappen, anonieme typen, query-uitdrukkingen, lambda-uitdrukkingen, expressiebomen, extensiemethoden |
| C # 4.0 | . NET Framework 4.0 | Visual Studio 2010 | Dynamische binding, benoemde/optionele argumenten, generieke covariantie en contravariantie, ingebedde interoperabiliteitstypen |
| C # 5.0 | . NET Framework 4.5 | Visual Studio 2012/2013 | Asynchrone leden, attributen met bellerinformatie |
| C # 6.0 | . NET Framework 4.6 | Visual Studio 2013/2015 | Statische imports, exception filters, property initializers, expression-bodied members, null propagator, string interpolation, nameof operator, dictionary initializer |
| C # 7.0 | .NET Framework 4.6.2 / .NET Core | Visual Studio 2017 | Uitvoervariabelen, tuples en deconstructie, patroonherkenning, lokale functies, ref-lokalen en retourwaarden, expressie-gebaseerde leden |
| C # 8.0 | .NET Kern 3.0 | Visual Studio 2019 | Nullable referentietypen, switch-expressies, asynchrone streams, standaard interfacemethoden, bereiken en indexen |
| C # 9.0 | .NET 5 | Visual Studio 2019 | Records, initialisatie-only setters, top-level statements, verbeteringen voor patroonherkenning |
| C # 10 | .NET 6 | Visual Studio 2022 | Globale using-richtlijnen, bestandsspecifieke naamruimten, recordstructuren, constant geïnterpoleerde tekenreeksen |
| C # 11 | .NET 7 | Visual Studio 2022 | Ruwe tekenreeksliteralen, verplichte leden, algemene wiskundige bewerkingen, lijstpatronen, UTF-8-tekenreeksliteralen |
| C # 12 | .NET 8 | Visual Studio 2022 | Primaire constructors, collectie-expressies, inline arrays, optionele lambda-parameters, alias voor elk type |
| C # 13 | .NET 9 | Visual Studio 2022 | params-collecties, nieuw vergrendelingstype, escape-sequentie \e, impliciete indextoegang, ref en unsafe in iterators |
| C # 14 | .NET 10 | Visual Studio 2022 | Uitbreidingsleden, het veldtrefwoord, null-voorwaardelijke toewijzing, impliciete spanconversies, bestandsgebaseerde apps |
Wat is het verschil tussen .NET Framework en .NET Core?
Het .NET Framework en .NET Core vertegenwoordigen twee generaties van hetzelfde idee. Het .NET Framework, dat voor het eerst werd uitgebracht in 2002 en waarvan de versie is bevroren op 4.8.1, draait alleen op Windows en wordt geïnstalleerd als een systeemcomponent. .NET Core, geïntroduceerd in 2016, is een volledig nieuwe versie die draait op Windows, Linux en macOSVanaf versie 5 Microsoft Het woord "Core" is weggelaten en het product is simpelweg ".NET" genoemd.ping Het cijfer 4 is gebruikt om verwarring met het oudere framework te voorkomen.
De belangrijkste verschillen zijn:
- Platform: Het .NET Framework is Windows-alleen, terwijl modern .NET platformonafhankelijk is.
- Bronmodel: Modern .NET is volledig open source en wordt openbaar ontwikkeld op GitHub.
- implementatie: Het moderne .NET ondersteunt naast elkaar bestaande versies en op zichzelf staande applicaties; er kan slechts één .NET Framework 4.x-installatie per machine bestaan.
- prestaties: De CoreCLR-runtime die ten grondslag ligt aan moderne .NET is in vrijwel elke doorvoertest sneller.
- Toekomst: Het .NET Framework ontvangt alleen beveiligingsupdates, terwijl de moderne .NET-versie alle nieuwe functies krijgt.
Hoe u uw .NET Framework-versie kunt controleren
Weten welke versie is geïnstalleerd, helpt je de compatibiliteit te controleren voordat je een applicatie uitvoert of bouwt. Windows Je kunt de geïnstalleerde .NET Framework-versie op verschillende manieren controleren:
- Register-editor: Open regedit en navigeer naar HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NET Framework Setup\NDP\v4\Full. De Sinds DWORD komt overeen met een versie; bijvoorbeeld, 528040 of hoger duidt op 4.8, en 533320 of hoger duidt op 4.8.1.
- Command Prompt: lopen reg query “HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4” /s om de versiecodes weer te geven.
- Power shell: lopen Get-ItemProperty “HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full” | Select-Object Release en vergelijk het aantal met de officiële kaart.ping.
- Verkenner: Open C: \Windows\Microsoft.NET\Framework, voer de hoogste waarde in v4.0.30319 Ga naar de map, klik met de rechtermuisknop op een DLL-bestand en lees de productversie.
Om de moderne .NET-versie in plaats van het Framework te testen, opent u een terminal en voert u het volgende commando uit: dotnet –list-sdks en dotnet –list-runtimesof dotnet –versie voor de actieve SDK. Deze commando's werken op Windows, Linux en macOS.
Hoe vaak worden er nieuwe C# en .NET-versies uitgebracht?
Sinds .NET 5 in 2020, Microsoft Er wordt elk jaar in november een belangrijke .NET-release uitgebracht, en elke release wordt vergezeld van een bijbehorende C#-versie. Deze voorspelbare jaarlijkse cyclus verving het tragere, minder regelmatige schema van het oude .NET Framework-tijdperk.
Releases volgen twee ondersteuningsrondes tracks:
- Langetermijnondersteuning (LTS): Even genummerde releases zoals .NET 8 en .NET 10 ontvangen drie jaar lang patches en worden aanbevolen voor productieomgevingen.
- Standaardtermijnondersteuning (STS): Oneven genummerde releases zoals .NET 9 krijgen achttien maanden ondersteuning en zijn ideaal om de nieuwste functies vroegtijdig te implementeren.
Het .NET Framework volgt dit ritme helemaal niet. Het is gestopt bij versie 4.8.1 en is sindsdien onveranderd gebleven, waardoor de versie-update nu alleen nog van toepassing is op de moderne .NET-lijn en de bijbehorende C#-releases.
