Nouveautés de .NET Core 3.1What's new in .NET Core 3.1

Cet article décrit les nouveautés de .NET Core 3,1.This article describes what is new in .NET Core 3.1. Cette version contient des améliorations mineures apportées à .NET Core 3,0, en se concentrant sur les correctifs les plus petits, mais importants.This release contains minor improvements to .NET Core 3.0, focusing on small, but important, fixes. La fonctionnalité la plus importante de .NET Core 3,1 est qu’il s’agit d’une version de prise en charge à long terme (LTS) .The most important feature about .NET Core 3.1 is that it's a long-term support (LTS) release.

Si vous utilisez Visual Studio 2019, vous devez effectuer la mise à jour vers Visual studio 2019 version 16,4 ou ultérieure pour travailler avec les projets .net Core 3,1.If you're using Visual Studio 2019, you must update to Visual Studio 2019 version 16.4 or later to work with .NET Core 3.1 projects. Pour plus d’informations sur les nouveautés de Visual Studio version 16,4, consultez Nouveautés de Visual studio 2019 version 16,4.For information on what's new in Visual Studio version 16.4, see What's New in Visual Studio 2019 version 16.4.

Visual Studio pour Mac prend également en charge et comprend .NET Core 3,1 dans Visual Studio pour Mac 8,4.Visual Studio for Mac also supports and includes .NET Core 3.1 in Visual Studio for Mac 8.4.

Pour plus d’informations sur la version, consultez l' annonce de .net Core 3,1.For more information about the release, see the .NET Core 3.1 announcement.

Prise en charge à long termeLong-term support

.NET Core 3,1 est une version LTS avec prise en charge de Microsoft au cours des trois prochaines années..NET Core 3.1 is an LTS release with support from Microsoft for the next three years. Il est fortement recommandé de déplacer vos applications vers .NET Core 3,1.It's highly recommended that you move your apps to .NET Core 3.1. Le cycle de vie actuel des autres versions majeures est le suivant :The current lifecycle of other major releases is as follows:

LibérerRelease NotesNote
.NET Core 3.0.NET Core 3.0 Fin de vie le 3 mars 2020.End of life on March 3, 2020.
.NET Core 2.2.NET Core 2.2 Fin de vie le 23 décembre 2019.End of life on December 23, 2019.
.NET Core 2.1.NET Core 2.1 Fin de vie le 21 août 2021.End of life on August 21, 2021.

Pour plus d’informations, consultez la stratégie de support .net Core.For more information, see the .NET Core support policy.

macOS appHost et notaireisationmacOS appHost and notarization

macOS uniquementmacOS only

À partir de la kit SDK .NET Core authentifiée 3,1 pour macOS, le paramètre appHost est désactivé par défaut.Starting with the notarized .NET Core SDK 3.1 for macOS, the appHost setting is disabled by default. Pour plus d’informations, voir la rubrique sur les téléchargements et les projets MacOS Catalina et l’impact sur les téléchargements et les projets .net Core.For more information, see macOS Catalina Notarization and the impact on .NET Core downloads and projects.

Lorsque le paramètre appHost est activé, .NET Core génère un exécutable Mach-O natif quand vous générez ou publiez.When the appHost setting is enabled, .NET Core generates a native Mach-O executable when you build or publish. Votre application s’exécute dans le contexte de appHost lorsqu’elle est exécutée à partir du code source avec la dotnet run commande, ou en démarrant directement l’exécutable Mach-O.Your app runs in the context of the appHost when it is run from source code with the dotnet run command, or by starting the Mach-O executable directly.

Sans appHost, la seule façon dont un utilisateur peut démarrer une application dépendante du runtime est d’utiliser la dotnet <filename.dll> commande.Without the appHost, the only way a user can start a runtime-dependent app is with the dotnet <filename.dll> command. Un appHost est toujours créé lorsque vous publiez votre application autonome.An appHost is always created when you publish your app self-contained.

Vous pouvez soit configurer appHost au niveau du projet, soit basculer la appHost d’une commande spécifique dotnet avec le -p:UseAppHost paramètre :You can either configure the appHost at the project level, or toggle the appHost for a specific dotnet command with the -p:UseAppHost parameter:

  • Fichier projetProject file

    <PropertyGroup>
      <UseAppHost>true</UseAppHost>
    </PropertyGroup>
    
  • Paramètre de ligne de commandeCommand-line parameter

    dotnet run -p:UseAppHost=true
    

Pour plus d’informations sur le UseAppHost paramètre, consultez propriétés MSBuild pour Microsoft. net. SDK.For more information about the UseAppHost setting, see MSBuild properties for Microsoft.NET.Sdk.

Windows FormsWindows Forms

Windows uniquementWindows only

Avertissement

Il existe des modifications avec rupture dans Windows Forms.There are breaking changes in Windows Forms.

Les contrôles hérités étaient inclus dans Windows Forms qui n’étaient pas disponibles dans la boîte à outils du concepteur Visual Studio pendant un certain temps.Legacy controls were included in Windows Forms that have been unavailable in the Visual Studio Designer Toolbox for some time. Ils ont été remplacés par de nouveaux contrôles dans .NET Framework 2,0.These were replaced with new controls back in .NET Framework 2.0. Celles-ci ont été supprimées du kit de développement logiciel (SDK) pour .NET Core 3,1.These have been removed from the Desktop SDK for .NET Core 3.1.

Contrôle suppriméRemoved control Remplacement recommandéRecommended replacement API associées suppriméesAssociated APIs removed
DataGridDataGrid DataGridView DataGridCellDataGridCell
DataGridRowDataGridRow
DataGridTableCollectionDataGridTableCollection
DataGridColumnCollectionDataGridColumnCollection
MappingNameDataGridTableStyle
DataGridColumnStyleDataGridColumnStyle
DataGridLineStyleDataGridLineStyle
DataGridParentRowsLabelDataGridParentRowsLabel
DataGridParentRowsLabelStyleDataGridParentRowsLabelStyle
DataGridBoolColumnDataGridBoolColumn
DataGridTextBoxDataGridTextBox
GridColumnStylesCollectionGridColumnStylesCollection
GridTableStylesCollectionGridTableStylesCollection
HitTestTypeHitTestType
ToolBarToolBar ToolStrip ToolBarAppearanceToolBarAppearance
ToolBarButtonToolBarButton ToolStripButton ToolBarButtonClickEventArgsToolBarButtonClickEventArgs
ToolBarButtonClickEventHandlerToolBarButtonClickEventHandler
ToolBarButtonStyleToolBarButtonStyle
ToolBarTextAlignToolBarTextAlign
ContextMenuContextMenu ContextMenuStrip
Menu ToolStripDropDown
ToolStripDropDownMenu
MenuItemCollectionMenuItemCollection
MainMenuMainMenu MenuStrip
MenuItemMenuItem ToolStripMenuItem

Nous vous recommandons de mettre à jour vos applications vers .NET Core 3,1 et de passer aux contrôles de remplacement.We recommend you update your applications to .NET Core 3.1 and move to the replacement controls. Le remplacement des contrôles est un processus simple, essentiellement « Rechercher et remplacer » sur le type.Replacing the controls is a straightforward process, essentially "find and replace" on the type.

C++/CLIC++/CLI

Windows uniquementWindows only

Une prise en charge a été ajoutée pour la création de projets C++/CLI (également appelés « C++ managé »).Support has been added for creating C++/CLI (also known as "managed C++") projects. Les fichiers binaires générés à partir de ces projets sont compatibles avec .NET Core 3,0 et versions ultérieures.Binaries produced from these projects are compatible with .NET Core 3.0 and later versions.

Pour ajouter la prise en charge de C++/CLI dans Visual Studio 2019 version 16,4, installez la charge de travail développement Desktop en c++.To add support for C++/CLI in Visual Studio 2019 version 16.4, install the Desktop development with C++ workload. Cette charge de travail ajoute deux modèles à Visual Studio :This workload adds two templates to Visual Studio:

  • Bibliothèque de classes CLR (.NET Core)CLR Class Library (.NET Core)
  • Projet CLR vide (.NET Core)CLR Empty Project (.NET Core)

Étapes suivantesNext steps