Питання Які правильні номери версій для C #?


Які правильні номери версій для C #? Що вийшло, коли? Чому я не можу знайти відповіді на питання C # 3.5?

Це питання, перш за все, допоможе тим, хто шукає відповідь, використовуючи неправильний номер версії, наприклад C # 3.5. Сподіваємося, що хтось, хто не зможе знайти відповідь з неправильним номером версії, знайде це запитайте, а потім знову шукайте правильний номер версії.


2072


походження


Це одне з хороших джерел, щоб все зрозуміти. en.wikipedia.org/wiki/C_Sharp_(programming_language)
Чи не повинен цей другий абзац бути в коментарях замість питання, оскільки він не є частиною питання - TankorSmash
@TankorSmash: Я думаю, що це досить важливо, як контекст питання, яке варто зберегти там, де він є. ІМО, звичайно. - Jon Skeet
@TankorSmash, оскільки це питання є відповіддю на самовіддачу, здається доречним, що пояснення (другий параграф) є там і не втрачено в коментарях. - YoungCoconutCode


Відповіді:


Історія мовної версії C #:

Це такі версії C # відомо на час написання цього листа:

У відповідь на запитання ОП:

Які правильні номери версій для C #? Що вийшло, коли? Чому я не можу знайти відповіді на C # 3.5?

Немає такої речі, як C # 3.5 - причиною плутанини є те, що C # 3.0 присутній у .NET 3.5. Тим не менш, мова та конфігурація варіюються незалежно, як це і є CLR, що є версією 2.0 для. NET 2.0 до 3.5, .NET 4, що впроваджує CLR 4.0, незалежно від пакетів обслуговування. CLR в .NET 4.5 має різні поліпшення, але версію незрозуміло: в деяких місцях його можна назвати CLR 4.5 (це сторінка MSDN використовується для позначення таким чином, наприклад), але Environment.Version властивість досі повідомляє 4.0.xxx.

Більш детальна інформація про взаємозв'язок між мовою, робочим часом та версією рамок доступна на C # на глибині сайт Це включає в себе інформацію про те, які функції C # 3.0 ви можете використовувати при націлюванні. NET 2.0. (Якщо хтось хоче привести весь вміст у відповідь на вікі, то їх можна запросити).

Станом на 3 травня 2017 року команда з мови C # створила історію версій і можливостей C # у своєму github repo: Особливості додані в версії C # мови. Це також сторінка, яка відстежує майбутні та нещодавно реалізовані мовні функції.


2401



@cvraman: Я тільки що отримав лист від когось, хто зазначив, що сторінка змінилася і не називає її CLR 4.5. Чи не є весело версіями? :) - Jon Skeet
@craman: Я збираюся залишити це на даний момент, як я сильно це підозрюю дещо місця, як і раніше, називатимуть це як 4.5, штопати це ... - Jon Skeet
Тому, хто запропонував включити паралельні збірки: це список з мова функцій немає рамки особливості Зверніть увагу на відсутність згадування про WPF тощо. - Jon Skeet
AFAIK, єдиний стабільний і надійний варіант, для якого C # називається Jon Skeet ... решта просто цифри: D - Carls Jr.
@alper: Unity не буде конкретною версією C # так багато, як конкретна версія .NET Framework і / або runtime. IIRC, це ефективно на CLR v2, але може мати деякі аспекти. NET 3.5. - Jon Skeet


Найбільшою проблемою при роботі з номерами версій C # є те, що вони не прив'язані до версії .NET Framework, що, здається, пов'язано з синхронізованими випусками між Visual Studio і .NET Framework.

Версія C # насправді пов'язана з компілятором, а не з рамкою. Наприклад, у Visual Studio 2008 ви можете написати C # 3.0 і цільові .NET Framework 2.0, 3.0 і 3.5. Номенклатура C # 3.0 описує версію синтаксису коду та підтримувані функції так само, як і ANSI C89, C90, C99 опишіть синтаксис / функції коду для C.

Подивись на Моно, і ви побачите, що Mono 2.0 (переважно реалізована версія 2.0 .NET Framework з специфікацій ECMA) підтримує синтаксис та функції C # 3.0.


241



Такий справжній. Але я б не назвав це "проблемою", а "перевагою". Моя компанія будує 2,0-додаток, використовуючи всі дивовижні особливості C # 4.0 - люблю це. - Alex
Одним словом, версії C # пов'язані з компілятором, а не з .net. - SHEKHAR SHETE


Це те ж саме, що і більшість відповідей тут, але легко викладено, і для повноти має версії Visual Studio та .NET.

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

Примітка. Розвиток .NET в даний час практично не залежить від VS, немає кореляції між версіями кожного. Зверніть увагу: https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependenciesдля більш.


179



Виглядає жахливо на мобільний. вірх! - Happypig375
Якщо добре виглядає в застосуванні стекавпотоку - Dileep
Що стосується версій .NET Core? - Pac0
@ Pac0. NET Core розробка в значній мірі залежить від розробки VS і важко відслідковувати (з відкритим вихідним кодом). Насправді всі VS, .NET та .NET Core повторюються досить швидко. - nawfal


  • C # 1.0 з Visual Studio.NET

  • C # 2.0 з Visual Studio 2005

  • C # 3.0 з Visual Studio 2008

  • C # 4.0 з Visual Studio 2010

  • C # 5.0 з Visual Studio 2012

  • C # 6.0 з Visual Studio 2015

  • C # 7.0 з Visual Studio 2017


164



C # 5 CTP встановлюється на вершині Visual Studio 2010. Ми не маємо жодних доказів того, що остаточний випуск зробить це. Пам'ятайте, що LINQ CTP також встановлений на Visual Studio 2005. - Jon Skeet
Так, якщо не прийде чергова версія Visual Studio, корпорація Майкрософт буде взяти на себе ініціативу. - iTSrAVIE


ВЕРСІЯ_____СПИСОК ЛІТЕРА______MICROSOFT COMPILER

C # 1.0/1.2____Грудень 2001 року?/ 2003 р?___________Січень 2002 р?

C # 2.0_______Вересень 2005 р________________Листопад 2005 року?

C # 3.0_______Травень 2006 р_____________________Листопад 2006 року?

C # 4.0_______Березень 2009 року (проект)______________Квітень 2010 р?

C # 5.0; випущений з .NET 4.5 у серпні 2012 року

C # 6.0; випущений з .NET 4.6 2015 року

C # 7.0; звільнений з .NET 4.7 2017


63



Де ви отримали специфікацію мови C # 2.0 у грудні 2002 року? Аналогічно C # 4 в червні 2006 року? Ви впевнені, що ви не говорите про видання ECMA, які абсолютно різні? - Jon Skeet
просто надішліть таке посилання en.wikipedia.org/wiki/C_Sharp_(programming_language) - Pramodh


Ви можете перевірити останні версії C # тут C# Versions


36





Історія версій C #:

C # - це проста та потужна об'єктно-орієнтована мова програмування, розроблена компанією Microsoft.

C # значно розвинувся з моменту його першого випуску в 2002 році. C # був введений з .NET Framework 1.0.

У наведеній нижче таблиці перелічено важливі функції, представлені в кожній версії C #.

Enter image description here

І останню версію C # доступно в Версії C #.


35





Я підсумував більшість версій у цій таблиці. Єдині відсутні повинні бути ASP.NET Core версії. Я також додав різні версії ASP.NET MVC.

Зверніть увагу, що ASP.NET 5 був ребрендинований як ASP.NET Core 1.0 і ASP.NET MVC 6 був перепризначений як ASP.NET Core MVC 1.0.0. Я вважаю, що ця зміна відбулася приблизно в січні 2016 року.

Я включив дату випуску ASP.NET 5 RC1 в таблицю, але я до сих пір не мав включати ASP.NET core 1.0 та інших версій ядра, тому що я не міг знайти точні дати випуску. Ви можете дізнатись більше про дати випуску для ASP.NET Core тут: Коли ASP.NET Core 1.0 (ASP.NET 5 / vNext) заплановано на випуск?

Version


32



Я не впевнений, що використання MVC в тій же таблиці є корисним, якщо бути чесним ... це просто на окремому графіку випуску, ефективно. - Jon Skeet
@Jon Це правда, просто додавши його тут для тих, кому це може знадобитися, тому що я намагався з'ясувати відповідні дати випуску .NET Framework, щоб я краще зрозумів всю історію версій. - Mindless


Порівняння статей MSDN "Що нового в мові C # 2.0 та компіляторі" і "Що нового в Visual C # 2005", можна зробити висновок, що" C # major_version.minor_version "вказується відповідно до нумерації версії компілятора.

є C # 1.2, що відповідає .NET 1.1 та VS 2003 а також названий як Visual C # .NET 2003.

Але далі Microsoft зупинився, щоб збільшити незначну версію (після точки) чи надати їм інші значення, ніж нуль, 0. Хоча слід зазначити, що C #, що відповідає .NET 3.5, називається msdn.microsoft.com як "Visual C # 2008 з пакетом оновлень 1".

Існує два паралельні іменування: основні нумерації версій .NET / compiler і нумерація Visual Studio.

C # 2.0 є синонімом для Visual C # 2005

C # 3.0 відповідає (або, більш правильно, може націлювати) на:


24



Ні, C #, що відповідає .NET 3.5, називається "Visual C # 2008", якщо ви дійсно хочете використовувати цю нумерацію. Функції C # 3.0 були представлені в "Visual C # 2008", тому на сторінці, з якою ви зв'язані, в розділі "Що нового в оригінальній версії Visual C # 2008". Використання номерів версій Visual Studio взагалі є поганою ідеєю, оскільки воно мало сенс, коли ви будуєте, наприклад, з Mono. Мова C # має добре визначені номери версій ... ми знаємо, який Visual C # продукт спочатку представив цю версію C #, але вони не однакові. - Jon Skeet
@JonSkeet, ні, я цього не роблю. Хотів би попросити вас (та ще одного відповіді) оновити свою відповідь, але так як мій коментар став надто довгим, я вирішив потім поставити як відповідь. Дякую за вашу інформацію - Gennady Vanin Геннадий Ванин
Я не думаю, що C # 3.0 може працювати на VS 2005. - nawfal