Vraag Wat zijn de juiste versienummers voor C #?


Wat zijn de juiste versienummers voor C #? Wat kwam er uit toen? Waarom kan ik hier geen antwoorden op vinden? C # 3.5?

Deze vraag is vooral bedoeld om diegenen te helpen die op zoek zijn naar een antwoord met een onjuist versienummer, bijvoorbeeld C # 3.5. De hoop is dat iedereen die er niet in slaagt een antwoord te vinden met het verkeerde versienummer, zal vinden deze vraag en zoek vervolgens opnieuw met het juiste versienummer.


2061


oorsprong


antwoorden:


C # taalversiegeschiedenis:

Dit zijn de versies van C # bekend op het moment van dit schrijven:

Als antwoord op de vraag van het OP:

Wat zijn de juiste versienummers voor C #? Wat kwam er uit toen? Waarom kan ik geen antwoorden vinden over C # 3.5?

Er bestaat niet zoiets als C # 3.5 - de oorzaak van verwarring is hier dat de C # 3.0 aanwezig is in .NET 3.5. De taal en het framework zijn echter onafhankelijk van de versie - net als de CLR, die zich in versie 2.0 voor .NET 2.0 tot en met 3.5, .NET 4 CLR 4.0, ondanks Service Packs, bevindt. De CLR in .NET 4.5 heeft verschillende verbeteringen, maar de versie-indeling is onduidelijk: op sommige plaatsen kan dit CLR 4.5 worden genoemd (deze MSDN-pagina gebruikt om er bijvoorbeeld naar te verwijzen), maar de Environment.Version property rapporteert nog steeds 4.0.xxx.

Meer gedetailleerde informatie over de relatie tussen de taal, runtime en framework-versies is beschikbaar op de C # in Depth plaats. Dit omvat informatie over welke functies van C # 3.0 u kunt gebruiken bij het targeten van .NET 2.0. (Als iemand alle inhoud in dit wiki-antwoord wil opnemen, zijn ze welkom.)

Vanaf 3 mei 2017 heeft het C # -taalteam een ​​geschiedenis van C # -versies en -functies gemaakt in hun github repo: Functies toegevoegd in C # taalversies. Er is ook een pagina die opkomende en recent geïmplementeerde taalfuncties bijhoudt.


2394



Het grootste probleem bij het omgaan met de versienummers van C # is het feit dat het niet is gekoppeld aan een versie van .NET Framework, wat lijkt te wijten aan de gesynchroniseerde releases tussen Visual Studio en .NET Framework.

De versie van C # is eigenlijk gebonden aan de compiler, niet aan het framework. In Visual Studio 2008 kunt u bijvoorbeeld C # 3.0 en doel .NET Framework 2.0, 3.0 en 3.5 schrijven. De C # 3.0-nomenclatuur beschrijft de versie van de codesyntaxis en ondersteunde functies op dezelfde manier ANSI C89, C90, C99 beschrijf de codesyntax / functies voor C.

Kijk eens naar Mono, en je zult zien dat Mono 2.0 (meestal geïmplementeerde versie 2.0 van het .NET Framework uit de ECMA-specificaties) de C # 3.0-syntaxis en functies ondersteunt.


241



Dit is hetzelfde als de meeste antwoorden hier, maar wordt eenvoudig in een tabel gezet en heeft Visual Studio- en .NET-versies voor de volledigheid.

╔════════════╦════════════╦══════════════╦═════════════╦══════════════╗
║ C# version ║ VS version ║ .NET version ║ CLR version ║ Release date ║
╠════════════╬════════════╬══════════════╬═════════════╬══════════════╣
║    1.0     ║    2002    ║    1.0       ║     1.0     ║   Feb 2002   ║
║    1.2     ║    2003    ║    1.1       ║     1.1     ║   Apr 2003   ║
║    2.0     ║    2005    ║    2.0       ║     2.0     ║   Nov 2005   ║
║            ║            ║    3.0       ║     2.0     ║   Nov 2006   ║
║    3.0     ║    2008    ║    3.5       ║     2.0     ║   Nov 2007   ║
║    4.0     ║    2010    ║    4.0       ║     4       ║   Apr 2010   ║
║    5.0     ║    2012    ║    4.5       ║     4       ║   Aug 2012   ║
║    5.0     ║    2013    ║    4.5.1     ║     4       ║   Oct 2013   ║
║            ║            ║    4.5.2     ║     4       ║   May 2014   ║
║    6.0     ║    2015    ║    4.6       ║     4       ║   Jul 2015   ║
║            ║            ║    4.6.1     ║     4       ║   Nov 2015   ║
║            ║            ║    4.6.2     ║     4       ║   Aug 2016   ║
║    7.0     ║    2017    ║              ║             ║   Mar 2017   ║
║            ║            ║    4.7       ║     4       ║   May 2017   ║
║    7.1     ║ 2017(v15.3)║              ║             ║   Aug 2017   ║
║            ║            ║    4.7.1     ║     4       ║   Oct 2017   ║
║    7.2     ║ 2017(v15.5)║              ║             ║   Dec 2017   ║
║            ║            ║    4.7.2     ║     4       ║   Apr 2018   ║
║    7.3     ║ 2017(v15.7)║              ║             ║   May 2018   ║
╚════════════╩════════════╩══════════════╩═════════════╩══════════════╝

Opmerking: .NET-ontwikkeling is tegenwoordig vrijwel onafhankelijk van VS, er is geen correlatie tussen versies van elk. Verwijzen: https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependenciesvoor meer.


176



  • C # 1.0 met Visual Studio.NET

  • C # 2.0 met Visual Studio 2005

  • C # 3.0 met Visual Studio 2008

  • C # 4.0 met Visual Studio 2010

  • C # 5.0 met Visual Studio 2012

  • C # 6.0 met Visual Studio 2015

  • C # 7.0 met Visual Studio 2017


164



VERSIE_____TAALSPECIFICATIE______MICROSOFT COMPILER

C # 1.0/1.2____December 2001?/ 2003?___________Januari 2002?

C # 2.0_______September 2005________________November 2005?

C # 3.0_______Mei 2006_____________________November 2006?

C # 4.0_______Maart 2009 (concept)______________April 2010?

C # 5.0; uitgebracht met .NET 4.5 in augustus 2012

C # 6.0; uitgebracht met. NET 4.6 2015

C # 7.0; uitgebracht met .NET 4.7 2017


64



U kunt de nieuwste C # -versies bekijken hier C# Versions


37



C # Versiegeschiedenis:

C # is een eenvoudige en krachtige objectgeoriënteerde programmeertaal die is ontwikkeld door Microsoft.

C # is veel geëvolueerd sinds de eerste release in 2002. C # is geïntroduceerd met .NET Framework 1.0.

De volgende tabel bevat belangrijke functies die in elke versie van C # zijn geïntroduceerd.

Enter image description here

En de nieuwste versie van C # is beschikbaar in C # Versies.


35



Ik heb de meeste versies in deze tabel samengevat. De enige missende zouden ASP.NET Core-versies moeten zijn. Ik heb ook verschillende versies van ASP.NET MVC toegevoegd.

Merk op dat ASP.NET 5 is omgedoopt tot ASP.NET Core 1.0 en ASP.NET MVC 6 is omgedoopt tot ASP.NET Core MVC 1.0.0. Ik geloof dat deze verandering ergens rond januari 2016 heeft plaatsgevonden.

Ik heb de releasedatum van ASP.NET 5 RC1 in de tabel opgenomen, maar ik heb ASP.NET core 1.0 en andere kernversies nog niet opgenomen, omdat ik de exacte releasedatums niet kon vinden. Je kunt hier meer informatie vinden over de releasedata met betrekking tot ASP.NET Core: Wanneer is ASP.NET Core 1.0 (ASP.NET 5 / vNext) gepland voor release?

Version


33



Het vergelijken van de MSDN-artikelen "Wat is nieuw in de C # 2.0 taal en compiler" en "Wat is er nieuw in Visual C # 2005", is het mogelijk om te concluderen dat" C # major_version.minor_version "is bedacht volgens de versienummering van de compiler.

Er bestaat C # 1.2 komt overeen met .NET 1.1 en VS 2003 en ook genoemd als Visual C # .NET 2003.

Maar verder stopte Microsoft om de minder belangrijke versie (na de punt) te verhogen of hen anders dan nul te hebben, 0. Er moet echter worden opgemerkt dat C # dat correspondeert met .NET 3.5 wordt genoemd in msdn.microsoft.com als "Visual C # 2008 Service Pack 1".

Er zijn twee parallelle namen: door de nummering van de major .NET / compilerversie en door de Visual Studio-nummering.

C # 2.0 is een synoniem voor Visual C # 2005

C # 3.0 correspondeert (of, beter gezegd, kan richten) op:


25