[Перевод] Вышел .NET Core 3.1

Мы рады объявить о выпуске .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.

Заметки релиза:


zrwfnstt7l3hyx-pzo_8bexswbu.png
Изменения в .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 в течение многих лет. В результате мы решили убрать эти элементы управления и сосредоточиться на новых.

Рекомендуются следующие замены:

Да, это переломное изменение. Вы заметите разрывы сборки, если будете использовать элементы управления, которые мы удалили, в своих приложениях. Кроме того, если вы откроете приложения .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
Общее

© Habrahabr.ru