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

⚡ Розумний підсумок

Історія версій C# та .NET tracяк Microsoft розвивала свою мову та фреймворк від випуску .NET Framework 1.0 та C# 1.0 у 2002 році до сучасних кросплатформних .NET 10 та C# 14 у 2025 році.

  • 🗓️ Походження: .NET Framework 1.0 та C# 1.0 були випущені разом у 2002 році для Windows розвитку.
  • 🧱 .NET Framework: Команда WindowsРядок -only досяг версії 4.8.1 у 2022 році та тепер отримує лише виправлення безпеки.
  • 🔀 Зміна: .NET Core, пізніше перейменований на .NET, замінив Framework кросплатформним середовищем виконання з відкритим кодом.
  • 🆕 Останній випуск: .NET 10 та C# 14 з'явилися у листопаді 2025 року як версії з довгостроковою підтримкою.
  • 💡 Зростання C#: У кожному випуску додавались такі функції, як узагальнення, async/await, записи та первинні конструктори.
  • 🤖 Релевантність ШІ: ML.NET, середовище виконання ONNX та GitHub Copilot додають машинне навчання та допомогу штучного інтелекту до сучасного C#.

Історія версій C# та .NET

Історія версій .Net Framework

Перша версія .Net framework була випущена у 2002 році. Версія називалася .Net framework 1.0. З того часу .Net framework пройшов довгий шлях, а остання версія — 4.8.1, випущена у 2022 році. Новіші розробки з того часу перейшли на кросплатформну платформу .NET (раніше .NET Core).

Нижче наведено таблицю випущених версій .Net framework з датами їх випуску. Кожна версія містить відповідні зміни у фреймворку.

Наприклад, у фреймворку 3.5 і наступних версіях ключовий фреймворк називається Структура структури був випущений. Цей фреймворк використовується для зміни підходу до розробки додатків під час роботи з базами даних.

Номер версії Версія CLR Дата випуску
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

Найбільша перевага .Net framework полягає в тому, що він підтримує Windows платформа, з якою працює майже кожен. Microsoft завжди гарантує, що фреймворки .Net відповідають усім підтримуваним Windows операційних систем.

Версія 4.8.1 — це останній основний випуск .Net Framework. Вона залишається підтримкою як вбудована. Windows компонент, але Microsoft тепер надає нові функції лише через сучасну платформу .NET, описану нижче.

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

C# розвивався разом із фреймворком, отримуючи основні мовні функції майже з кожним випуском. У таблиці нижче кожна версія C# відображається на відповідній платформі .NET та випуску Visual Studio, а також основні функції, які вона представила.

версія .NET / Фреймворк Visual Studio Важливі особливості
C # 1.0 .NET Framework 1.0/1.1 Visual Studio .NET 2002 Перший випуск C#
C # 2.0 . NET Framework 2.0 Visual Studio 2005 Дженерики, часткові типи, анонімні методи, типи, що приймають значення null, ітератори, коваріація та контраваріація
C # 3.0 .NET Framework 3.0/3.5 Visual Studio 2008 Автоматично реалізовані властивості, анонімні типи, вирази запитів, лямбда-вирази, дерева виразів, методи розширення
C # 4.0 . NET Framework 4.0 Visual Studio 2010 Динамічне зв'язування, іменовані/необов'язкові аргументи, узагальнена коваріація та контраваріація, вбудовані типи взаємодії
C # 5.0 . NET Framework 4.5 Visual Studio 2012/2013 Асинхронні члени, атрибути інформації про абонента
C # 6.0 . NET Framework 4.6 Visual Studio 2013/2015 Статичний імпорт, фільтри винятків, ініціалізатори властивостей, члени з тілом виразу, пропагатор null, інтерполяція рядків, оператор nameof, ініціалізатор словника
C # 7.0 .NET Framework 4.6.2 / .NET Core Visual Studio 2017 Вихідні змінні, кортежі та деконструкція, зіставлення зі зразком, локальні функції, локальні значення посилань та повернення, члени з тілом виразу
C # 8.0 .NET Core 3.0 Visual Studio 2019 Типи посилань, що допускають значення Null, вирази switch, асинхронні потоки, методи інтерфейсу за замовчуванням, діапазони та індекси
C # 9.0 .NET 5 Visual Studio 2019 Записи, сеттери лише для ініціалізації, оператори верхнього рівня, покращення зіставлення зі зразком
C # 10 .NET 6 Visual Studio 2022 Глобальні директиви using, простори імен з областю видимості файлу, структури записів, константні інтерпольовані рядки
C # 11 .NET 7 Visual Studio 2022 Необроблені рядкові літерали, обов'язкові члени, узагальнена математика, шаблони списків, рядкові літерали UTF-8
C # 12 .NET 8 Visual Studio 2022 Первинні конструктори, вирази колекцій, вбудовані масиви, додаткові лямбда-параметри, псевдоніми будь-якого типу
C # 13 .NET 9 Visual Studio 2022 колекції параметрів, новий тип блокування, керуюча послідовність \e, неявний доступ до індексу, посилання та небезпечні властивості в ітераторах
C # 14 .NET 10 Visual Studio 2022 Члени розширення, ключове слово field, умовне присвоєння null, неявні перетворення span, файлові програми

Яка різниця між .NET Framework та .NET Core?

.NET Framework та .NET Core представляють два покоління однієї й тієї ж ідеї. .NET Framework, вперше випущений у 2002 році та заморожений на версії 4.8.1, працює лише на Windows і встановлюється як системний компонент. .NET Core, представлений у 2016 році, — це переписана з нуля версія, яка працює на Windows, Linux і macOSПочинаючи з версії 5 Microsoft викинули слово «Core» та назвали продукт просто «.NET», пропуститиping число 4, щоб уникнути плутанини зі старою версією Framework.

Найважливіші відмінності:

  • Платформа: .NET Framework — це Windows-лише, тоді як сучасний .NET є кросплатформним.
  • Вихідна модель: Сучасний .NET має повністю відкритий вихідний код та розробляється у відкритому режимі на GitHub.
  • Розгортання: Сучасний .NET підтримує паралельні версії та автономні програми; на одній машині може існувати лише один .NET Framework 4.x.
  • Продуктивність: Виконання CoreCLR для сучасного .NET швидше майже у всіх тестах на пропускну здатність.
  • Майбутнє: .NET Framework отримує лише виправлення безпеки, тоді як сучасний .NET отримує всі нові функції.

Як перевірити версію .NET Framework

Знання встановленої версії допомагає перевірити сумісність перед запуском або створенням програми. Windows Ви можете перевірити встановлену версію .NET Framework кількома способами:

  • Редактор реєстру: відкритий regedit і перейдіть до HKEY_LOCAL_MACHINE\ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ\Microsoft\NET Framework Setup\NDP\v4\Full, Відпустіть DWORD відповідає версії; наприклад, 528040 або вище вказує на 4.8, а 533320 або вище вказує на 4.8.1.
  • Командний рядок: прогін запит reg “HKLM\SOFTWARE\MicrosoftНалаштування Net Framework NDP v4” /с щоб переглянути список ключів версій.
  • PowerShell: прогін Get-ItemProperty “HKLM:\ПЗ\Microsoft"\Налаштування NET Framework\NDP\v4\Повний" | Випуск Select-Object і порівняйте число з офіційною картоюping.
  • Провідник файлів: відкритий C: \Windows\Microsoft.NET\Фреймворк, введіть найвищий v4.0.30319 папку, клацніть правою кнопкою миші будь-яку DLL-бібліотеку та прочитайте версію продукту.

Щоб перевірити сучасний .NET замість Framework, відкрийте термінал і запустіть dotnet –list-sdks та dotnet –list-runtimesабо dotnet –версія для активного SDK. Ці команди працюють на Windows, Linux і macOS.

Як часто випускаються нові версії C# та .NET?

Починаючи з .NET 5 у 2020 році, Microsoft щолистопада випускає великий реліз .NET, і кожен з них постачається з відповідною версією мови C#. Ця передбачувана щорічна каденція замінила повільніший, менш регулярний графік старої ери .NET Framework.

Релізи слідують за двома підтримками tracкс:

  • Довгострокова підтримка (ДСП): Парні випуски, такі як .NET 8 та .NET 10, отримують три роки патчів і рекомендуються для продакшену.
  • Стандартна термінова підтримка (STS): Непарні випуски, такі як .NET 9, отримують вісімнадцять місяців підтримки та ідеально підходять для раннього впровадження найновіших функцій.

.NET Framework взагалі не дотримується цієї каденції. Він зупинився на версії 4.8.1 і залишається незмінним, тому актуальність версій тепер застосовується лише до сучасної лінійки .NET та її випусків на C#.

Поширені запитання

C# 14 – це остання версія, випущена 11 листопада 2025 року разом із .NET 10. У ній додано члени розширення, ключове слово field, умовне присвоєння null та неявні перетворення span. Оскільки .NET 10 – це реліз із довгостроковою підтримкою, C# 14 є стабільним вибором для нових проектів.

Так. The . NET Framework Версія 4.8.1 залишається підтриманою як Windows компонент операційної системи та отримує виправлення безпеки та надійності. Однак Microsoft не додає до нього жодних нових функцій, тому більшість нових розробок орієнтовані на сучасний .NET, а не на Framework.

Для будь-якого нового проекту обирайте сучасний .NET, наразі .NET 10. Він кросплатформний, швидший, з відкритим кодом та активно розробляється. Зарезервуйте .NET Framework для підтримки існуючих. Windows-лише програми, що залежать від бібліотек, які новіша платформа не підтримує.

Випуски з довгостроковою підтримкою (LTS), такі як .NET 8 та .NET 10, отримують три роки виправлень. Випуски зі стандартною підтримкою (STS), такі як .NET 9, отримують вісімнадцять місяців. Microsoft щолистопада постачає одну основну версію .NET, чергуючи між двома.

Microsoft у 2020 році викинули слово Core з .NET 5, щоб позначити єдину платформу. Версія перейшла з 3.1 до 5, пропуститиping 4, щоб уникнути плутанини з .NET Framework 4.x. Відтоді продукт називається просто .NET.

Visual Studio 2022 підтримує повну версію .NET Framework до версії 4.8.1 та всі сучасні випуски .NET, починаючи з .NET 10 з C# 14. Старіші випуски, такі як Visual Studio 2019, працюють на рівні C# 8 та попередніх версій framework.

Так. ML.NET навчає та запускає моделі безпосередньо на C#, а середовище виконання ONNX виконує попередньо навчені моделі глибокого навчання. MicrosoftБібліотеки .Extensions.AI з'єднують .NET-додатки з великими мовними моделями, що дозволяє додавати інтелектуальні функції, не виходячи з екосистеми.

Так. GitHub Copilot пропонує код C# у Visual Studio та VS Code і може допомогти з оновленням проектів між версіями .NET. Розглядайте його результат як перший чернетку та перевіряйте його, оскільки згенерований код може не містити специфічних для версії API або граничних випадків.

Підсумуйте цей пост за допомогою: