Domanda Quali sono i numeri di versione corretti per C #?


Quali sono i numeri di versione corretti per C #? Cosa è venuto fuori quando? Perché non riesco a trovare nessuna risposta C # 3.5?

Questa domanda serve principalmente a coloro che cercano una risposta utilizzando un numero di versione errato, ad es. C # 3.5. La speranza è che chiunque non riesca a trovare una risposta con il numero di versione errato troverà Questo domanda e quindi effettuare di nuovo la ricerca con il numero di versione corretto.


2061


origine


risposte:


Cronologia delle versioni in lingua C #:

Queste sono le versioni di C # conosciuto al momento di questa scrittura:

In risposta alla domanda dell'OP:

Quali sono i numeri di versione corretti per C #? Cosa è venuto fuori quando? Perché non riesco a trovare alcuna risposta su C # 3.5?

Non c'è niente come C # 3.5 - la causa della confusione qui è che il C # 3.0 è presente in .NET 3.5. Il linguaggio e il framework sono indipendenti dalla versione, tuttavia - come lo è il CLR, che è alla versione 2.0 per .NET da 2.0 a 3.5, .NET 4 che introduce CLR 4.0, nonostante i service pack. Il CLR in .NET 4.5 presenta vari miglioramenti, ma il controllo delle versioni non è chiaro: in alcuni punti può essere indicato come CLR 4.5 (questa pagina MSDN usato per riferirsi ad esso in questo modo, per esempio), ma il Environment.Version la proprietà riporta ancora 4.0.xxx.

Informazioni più dettagliate sulla relazione tra lingua, runtime e versioni di framework sono disponibili su C # in profondità luogo. Questo include informazioni su quali funzionalità di C # 3.0 è possibile utilizzare per il targeting di .NET 2.0. (Se qualcuno vuole portare tutto il contenuto in questa risposta wiki, è il benvenuto.)

A partire dal 3 maggio 2017, il team di linguaggio C # ha creato una cronologia delle versioni e delle funzionalità di C # sul proprio repository github: Funzionalità aggiunte in versioni linguistiche C #. C'è anche una pagina che tiene traccia delle funzionalità linguistiche imminenti e implementate di recente.


2394



Il problema più grande quando si gestiscono i numeri di versione di C # è il fatto che non è legato a una versione di .NET Framework, che sembra essere dovuta alle versioni sincronizzate tra Visual Studio e .NET Framework.

La versione di C # è in realtà legata al compilatore, non al framework. Ad esempio, in Visual Studio 2008 è possibile scrivere C # 3.0 e utilizzare .NET Framework 2.0, 3.0 e 3.5. La nomenclatura C # 3.0 descrive la versione della sintassi del codice e le funzionalità supportate nello stesso modo in cui ANSI C89, C90, C99 descrivere la sintassi del codice / caratteristiche per C.

Dare un'occhiata a Monoe vedrai che Mono 2.0 (implementato per lo più la versione 2.0 di .NET Framework dalle specifiche ECMA) supporta la sintassi e le caratteristiche di C # 3.0.


241



Questo è lo stesso della maggior parte delle risposte qui, ma tabularized per facilità, e ha versioni di Visual Studio e .NET per completezza.

╔════════════╦════════════╦══════════════╦═════════════╦══════════════╗
║ 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   ║
╚════════════╩════════════╩══════════════╩═════════════╩══════════════╝

Nota: lo sviluppo .NET è praticamente indipendente da VS in questi giorni, non esiste alcuna correlazione tra le versioni di ciascuno. Fare riferimento: https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependenciesper più.


176



  • C # 1.0 con Visual Studio.NET

  • C # 2.0 con Visual Studio 2005

  • C # 3.0 con Visual Studio 2008

  • C # 4.0 con Visual Studio 2010

  • C # 5.0 con Visual Studio 2012

  • C # 6.0 con Visual Studio 2015

  • C # 7.0 con Visual Studio 2017


164



VERSIONE_____SPECIFICAZIONE DELLA LINGUA______COMPILATORE MICROSOFT

C # 1.0/1.2____Dicembre 2001?/ 2003?___________Gennaio 2002?

C # 2.0_______Settembre 2005________________Novembre 2005?

C # 3.0_______Maggio 2006_____________________Novembre 2006?

C # 4.0_______Marzo 2009 (bozza)______________Aprile 2010?

C # 5.0; rilasciato con .NET 4.5 in agosto 2012

C # 6.0; rilasciato con .NET 4.6 2015

C # 7.0; rilasciato con .NET 4.7 2017


64



Puoi controllare le ultime versioni di C # Qui C# Versions


37



C # Cronologia delle versioni:

C # è un linguaggio di programmazione orientato agli oggetti semplice e potente sviluppato da Microsoft.

C # si è evoluto molto dalla sua prima versione nel 2002. C # è stato introdotto con .NET Framework 1.0.

La seguente tabella elenca le funzionalità importanti introdotte in ciascuna versione di C #.

Enter image description here

E l'ultima versione di C # è disponibile in Versioni C #.


35



Ho riassunto la maggior parte delle versioni in questa tabella. Gli unici che mancano dovrebbero essere le versioni di ASP.NET Core. Ho anche aggiunto diverse versioni di ASP.NET MVC.

Si noti che ASP.NET 5 è stato rinominato come ASP.NET Core 1.0 e ASP.NET MVC 6 è stato rinominato come ASP.NET Core MVC 1.0.0. Credo che questo cambiamento sia avvenuto verso gennaio 2016.

Ho incluso la data di rilascio di ASP.NET 5 RC1 nella tabella, ma devo ancora includere il nucleo 1.0 di ASP.NET e altre versioni core, perché non sono riuscito a trovare le date esatte di rilascio. Puoi leggere di più sulle date di rilascio di ASP.NET Core qui: Quando è previsto il rilascio di ASP.NET Core 1.0 (ASP.NET 5 / vNext)?

Version


33



Confronto tra gli articoli MSDN "Novità nel linguaggio e nel compilatore C # 2.0" e "Novità di Visual C # 2005", è possibile dedurre che" C # major_version.minor_version "è coniato in base alla numerazione della versione del compilatore.

C'è C # 1.2 corrispondente a .NET 1.1 e VS 2003 e anche nominato come Visual C # .NET 2003.

Ma ulteriormente Microsoft ha smesso di incrementare i numeri della versione secondaria (dopo il punto) o di averli diversi da zero, 0. Sebbene si noti che C # corrispondente a .NET 3.5 è denominato in msdn.microsoft.com come "Visual C # 2008 Service Pack 1".

Esistono due nomi paralleli: dalla numerazione delle versioni .NET / del compilatore e dalla numerazione di Visual Studio.

C # 2.0 è sinonimo di Visual C # 2005

C # 3.0 corrisponde (o, più correttamente, può targetizzare) a:


25