11 декабря 2019

Вышел .NET Core 3.1

Блог компании MicrosoftПрограммирование.NETC#
Перевод
Автор оригинала: Microsoft
Мы рады объявить о выпуске .NET Core 3.1. Это действительно небольшое обновление, в основном призванное устранить проблемы версии .NET Core 3.0, которую мы выкатили пару месяцев назад. Самое важное о .NET Core 3.1 — это релиз долгосрочной поддержки (LTS) и мы будем поддерживать эту версию как минимум в течение 3 лет. Как и в прошлом, мы не хотели торопиться с выпуском нового релиза LTS. Дополнительные два месяца (после выхода .NET Core 3.0) позволили нам выбрать и реализовать правильный набор улучшений по сравнению с уже стабильной версией. .NET Core 3.1 теперь полностью готов к использованию в чем угодно, на что только способно ваше воображение.

Вы можете скачать .NET Core 3.1для Windows, macOS, и Linux:


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 были в основном сфокусированы на 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, DataGridTextBox, GridColumnStylesCollection, GridTableStylesCollection, HitTestType
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 и другими проектами, над которыми мы работаем (на английском).

Основы


Desktop


ASP.NET


Общее

Теги:Microsoft.net core 3.1.net core.net
Хабы: Блог компании Microsoft Программирование .NET C#
+10
15,5k 42
Комментарии 19
Лучшие публикации за сутки