.NET Core 3.1 – реліз довгострокової підтримки (LTS)
.NET Core 3.1 - реліз довгострокової підтримки (LTS)
Microsoft оголосила про випуск .NET Core 3.1. Це невелике оновлення, в основному покликане усунути проблеми версії .NET Core 3.0. Найважливіше про .NET Core 3.1 — це реліз довгострокової підтримки (LTS) і Microsoft підтримуватиме цю версію як мінімум протягом 3 років. Як і в минулому, Microsoft не хотів поспішати з випуском нового релізу LTS. Додаткові два місяці (після виходу .NET Core 3.0) дозволили вибрати та реалізувати правильний набір покращень порівняно з вже стабільною версією. .NET Core 3.1 тепер повністю готовий до використання в будь-чому, на що тільки здатна ваша уява.
Ви можете завантажити .NET Core 3.1 для Windows, macOS, і Linux:
- .NET Core 3.1 SDK та Runtime
- Образи контейнерів Docker
- Установник Snap
ASP.NET Core і EF Core також стали загальнодоступними.
Visual Studio 2019 16.4 також тепер доступна і включає .NET Core 3.1. Це необхідне оновлення для використання .NET Core 3.1 із Visual Studio. Користувачам Visual Studio 2019 ми рекомендуємо просто оновити Visual Studio до 16.4 замість окремого завантаження .NET Core 3.1. Visual Studio для Mac також підтримує і включає в себе .NET Core 3.1, спробуйте Visual Studio для Mac 8.4 Preview .
Нотатки релізу:
- Нотатки про дозвіл .NET Core 3.1
- Сторінка GitHub для опису проблем з .NET Core 3.1
- Реліз на GitHub
Зміни в .NET Core 3.1 були в основному сфокусовані на Blazor і Windows Desktop, двох великих новинках .NET Core 3.0. Вони входять підтримка C++/CLI, яка була частим запитом від розробників, орієнтованих на Windows.
Перш ніж перейти до короткого огляду новинок .NET Core 3.1, радимо вивчити новинки .NET Core 3.0.
Підтримка платформ
.NET Core 3.1 підтримується на наступних ОС:
- Alpine: 3.10+
- Debian: 9+
- Ubuntu: 16.04+
- Fedora: 29+
- RHEL: 6+
- openSUSE: 15+
- SUSE Enterprise Linux (SLES): 12 SP2+
- macOS: 10.13+
- Windows Client: 7, 8.1, 10 (1607+)
- Windows Server: 2012 R2+
Нотатка: програми Windows Forms та WPF підтримуються та функціонують лише на Windows.
Підтримка чіпів:
- x64 на Windows, macOS та Linux
- x86 на Windows
- ARM32 на Windows та Linux
- ARM64 на Linux (kernel 4.14+)
Нотатка: зверніть увагу, що у розгортанні .NET Core 3.1 ARM64 використовується Linux kernel версії 4.14 або пізнішої. Наприклад, Ubuntu 18.04 задовольняє цю вимогу, а 16.04 ні.
Видалення елементів керування Windows Forms
Наступні елементи керування Windows Forms були видалені з .NET Core 3.1:
- DataGrid
- ToolBar
- ContextMenu
- Menu
- MainMenu
- MenuItem
Ці елементи управління були замінені потужнішими елементами управління в .NET Framework 2.0 ще в 2005 році. Вони не були доступні за промовчанням у Visual Studio Designer Toolbox протягом багатьох років. В результаті ми вирішили прибрати ці елементи управління та зосередитися на нових.
Рекомендуються наступні заміни:
Старий елемент (API) | Рекомендована заміна | Інші пов'язані видалені API |
DataGrid | DataGridView | DataGridCell, DataGridRow, DataGridTableCollection, DataGridColumnCollection, DataGridTableStyle, DataGridColumnStyle, DataGridLineStyle, DataGridParentRowsLabel, DataGridParentRowsLabelStyle, DataGridBoolColumn,DataGrid |
ToolBar | ToolStrip | ToolBarAppearance |
ToolBarButton | ToolStripButton | ToolBarButtonClickEventArgs, ToolBarButtonClickEventHandler, ToolBarButtonStyle, ToolBarTextAlign |
ContextMenu | ContextMenuStrip | |
Menu | ToolStripDropDown, ToolstripDropDownMenu | MenuItemCollection |
MainMenu | MenuStrip | |
MenuItem | ToolstripMenuItem |
Так, це переломна зміна. Ви помітите розриви збірки, якщо ви будете використовувати елементи керування, які ми видалили у своїх додатках. Крім того, якщо ви відкриєте програми .NET Core 3.0 в останніх версіях конструктора .NET Core Windows Forms, ви побачите помилки, якщо будете використовувати ці елементи керування.
Ми рекомендуємо вам оновити ваші програми до .NET Core 3.1 та перейти на альтернативні елементи управління. Заміна елементів управління — це простий процес, по суті «знайти і замінити». По-перше, ми повинні були внести ці зміни до того, як випустили .NET Core 3.0, і ми вибачаємося за це. Ми намагаємося уникати надто пізніх змін і нам дуже шкода, що так вийшло.
Просунувшись далі в реалізації проекту дизайнера Windows Forms, ми зрозуміли, що ці елементи управління не пов'язані зі створенням сучасних додатків і ніколи не повинні були бути частиною .NET Core Windows Forms. Ми також зрозуміли, що нам буде потрібно занадто багато ресурсів для їх підтримки.
Мета — продовжувати вдосконалювати Windows Forms для забезпечення високого DPI, доступності та надійності, і ця пізня зміна була дійсно важливою.
C++/CLI
Додали підтримку створення компонентів C++/CLI (AKA «керований C++»), які можна використовувати з .NET Core 3.0+ у Visual Studio 2019 16.4. Для використання C++/CLI необхідно встановити робоче навантаження «Desktop-розробка з C++» та компонент «підтримка C++/CLI».
/>
Цей компонент додає пару шаблонів, які можна використовувати:
- CLR бібліотека класів (.NET Core)
- CLR порожній проект (.NET Core)
Якщо ви не можете їх знайти, просто пошукайте в діалоговому вікні Новий проект.
C++/CLI доступні тільки на Windows. Ви не можете використовувати компоненти C++/CLI, призначені для .NET Framework з .NET Core і навпаки.
Рекомендуємо перейти на .NET Core 3.1, як тільки у вас з'явиться можливість. Це відмінний реліз (в основному завдяки 3.0), який вносить покращення у багато аспектів .NET Core. Це також реліз довгострокової підтримки (LTS), який підтримуватиметься як мінімум три роки.
Оновлення життєвого циклу:
- Підтримка .NET Core 3.0 завершиться 3 березня 2020 року.
- Підтримка .NET Core 2.2 завершиться 23 грудня 2019.
- .NET Core 2.1 буде підтримуватися до серпня 2021 року (це також LTS-реліз).
Наступні повідомлення .NET Core рекомендується прочитати, щоб дізнатися більше про те, що ви отримуєте з .NET Core 3.1 та іншими проектами (англійською).
Основи
- Floating-Point Parsing and Formatting improvements in .NET Core 3.0
- Default implementations in interfaces
- Introducing the new Microsoft.Data.SqlClient
- Introducing diagnostics improvements in .NET Core 3.0
- Understanding the Whys, Whats, і Whens of ValueTask
Desktop
- .NET Core 3 для Windows Desktop
- Завжди розгортання і пересування ваших UWP, WPF, і Windows Forms app with App Center
- Introducing .NET Core Windows Forms Designer Preview 1
- Migrating a Sample WPF App to .NET Core 3
- Porting desktop apps to .NET Core
ASP.NET
- Improvements in .NET Core 3.0 для консультативних програм і monitoring distributed apps
- Blazor Server в .NET Core 3.0 scenarios and performance
- Supporting the community with WF and WCF OSS проекти
- Upcoming SameSite Cookie Changes in ASP.NET and ASP.NET Core
- Re-reading ASP.Net Core request bodies with EnableBuffering()
- gRPC vs HTTP APIs
- Collecting .NET Core Linux Container CPU Traces від Sidecar Container
Спільне
- Наскільки .NET Team використовується Azure Pipelines to produce Docker Images
- The Evolving Infrastructure of .NET Core
- Update on .NET Standard adoption
- .NET Core is the Future of .NET
- .NET Core and systemd
- .NET Core Workers як Windows Services