Новые возможности .NET Core 3.1

В этой статье описаны новые возможности в .NET Core 3.1. Этот выпуск содержит небольшие улучшения относительно .NET Core 3.0. Внимание уделялось нескольким небольшим, но важным исправлениям. Основная особенность .NET Core 3.1 заключается в том, что это выпуск долгосрочной поддержки (LTS).

Если вы используете Visual Studio 2019, для работы с проектами .NET Core 3.1 необходимо обновить Visual Studio 2019 до версии 16.4 или более поздней. Сведения о новых возможностях Visual Studio версии 16.4 см. на странице Новые возможности Visual Studio 2019 версии 16.4.

Дополнительные сведения см. в объявлении о выпуске .NET Core 3.1.

Долгосрочная поддержка

.NET Core 3.1 — это выпуск LTS с поддержкой Корпорации Майкрософт в течение трех лет после его выпуска. Настоятельно рекомендуется перевести свои приложения на последнюю версию с долгосрочной поддержкой (LTS). См. страницу политики поддержки .NET и .NET Core для списка поддерживаемых выпусков.

Выпуск Дата окончания жизненного цикла
.NET Core 3.1. Конец жизни 13 декабря 2022 года.
.NET Core 3.0 Окончание жизненного цикла 3 марта 2020 г.
.NET Core 2.2 Окончание жизненного цикла 23 декабря 2019 г.
.NET Core 2.1 Окончание жизненного цикла 21 августа 2021 г.

Дополнительные сведения см. в политике поддержки .NET и .NET Core.

appHost в macOS и нотаризация

Только macOS

Начиная с нотариально заверенного пакета SDK .NET Core 3.1 для macOS, параметр appHost по умолчанию отключен. Дополнительные сведения см. в статье Нотариальное заверение в macOS Catalina и его влияние на скачивание и проекты .NET Core.

Если параметр appHost включен, .NET Core создает собственный исполняемый файл Mach-O, когда вы выполняете сборку или публикацию. Приложение выполняется в контексте appHost при запуске из исходного кода с помощью команды dotnet run или путем непосредственного запуска исполняемого файла Mach-O.

Без appHost пользователь может запустить приложение, зависящее от платформы, только одним способом — с помощью команды dotnet <filename.dll>. AppHost всегда создается при публикации приложения в автономном виде.

Можно либо настроить appHost на уровне проекта, либо переключить использование appHost для определенной команды dotnet с помощью параметра -p:UseAppHost:

  • Файл проекта

    <PropertyGroup>
      <UseAppHost>true</UseAppHost>
    </PropertyGroup>
    
  • Параметр командной строки

    dotnet run -p:UseAppHost=true
    

Дополнительные сведения о параметре UseAppHost см. в разделе Свойства MSBuild для Microsoft.NET.Sdk.

Windows Forms

Только для Windows

Предупреждение

В Windows Forms внесены критические изменения.

В Windows Forms входили устаревшие элементы управления, которые уже некоторое время недоступны на панели элементов конструктора Visual Studio. Они были заменены новыми элементами управления еще в .NET Framework 2.0. Они были удалены из Desktop SDK для .NET Core 3.1.

Удаленный элемент управления Рекомендуемая замена Связанные API удалены
DataGrid DataGridView DataGridCell
DataGridRow
DataGridTableCollection
Коллекция столбцов таблицы данных
DataGridTableStyle
Стиль столбца таблицы данных (DataGridColumnStyle)
DataGridLineStyle
DataGridParentRowsLabel
Стиль метки родительских строк таблицы данных
DataGridBoolColumn
DataGridTextBox
Коллекция стилей столбцов сетки
Коллекция стилей таблицы сетки
HitTestType
Панель инструментов ToolStrip Внешний вид панели инструментов
Кнопка панели инструментов ToolStripButton Аргументы события щелчка по кнопке панели инструментов
ToolBarButtonClickEventHandler
СтильКнопкиПанелиИнструментов
ВыравниваниеТекстаНаПанелиИнструментов
Контекстное меню ContextMenuStrip
Menu ToolStripDropDown
ToolStripDropDownMenu
КоллекцияПунктовМеню
Главное меню MenuStrip
Элемент меню ToolStripMenuItem

Мы рекомендуем обновить ваши приложения до .NET Core 3.1 и перейти на элементы управления, которые их заменяют. Замена элементов управления — довольно простой процесс: по сути, нужно лишь выполнить «найти и заменить» для типа.

C++/CLI

Только для Windows

Добавлена поддержка создания проектов C++/CLI ("управляемый C++"). Двоичные файлы, созданные в этих проектах, совместимы с .NET Core 3.0 и более поздними версиями.

Чтобы добавить поддержку C++/CLI в Visual Studio 2019 версии 16.4, установите рабочую нагрузку Разработка классических приложений на C++. При использовании этой рабочей нагрузки в Visual Studio добавляется два шаблона:

  • библиотека классов CLR (.NET Core);
  • Пустой проект CLR (.NET Core)

Следующие шаги