Nouveautés de .NET Core 3.1

Cet article décrit les nouveautés de .NET Core 3.1. Cette version contient des améliorations mineures apportées à .NET Core 3.0, axées sur des correctifs petits, mais importants. La fonctionnalité la plus importante de .NET Core 3.1 est qu’il s’agit d’une version de support à long terme (LTS).

Si vous utilisez Visual Studio 2019, vous devez effectuer une mise à jour vers Visual Studio 2019 version 16.4 ou ultérieure pour utiliser des projets .NET Core 3.1. Pour plus d’informations sur les nouveautés dans Visual Studio 16.4, consultez Nouveautés dans Visual Studio 2019 version 16.4.

Visual Studio pour Mac prend également en charge et inclut .NET Core 3.1 dans Visual Studio pour Mac 8.4.

Pour plus d’informations sur la version, consultez l’annonce de .NET Core 3.1.

Prise en charge à long terme

.NET Core 3.1 est une version LTS prise en charge par Microsoft pendant trois ans après sa publication. Il est vivement recommandé de déplacer vos applications vers la dernière version LTS. Pour obtenir la liste des versions prises en charge, consultez la page stratégie de prise en charge de .NET et .NET Core .

Libérer Date de fin de vie
.NET Core 3.1 Fin de vie le 13 décembre 2022.
.NET Core 3.0 Fin de vie le 3 mars 2020.
.NET Core 2.2 Fin de vie le 23 décembre 2019.
.NET Core 2.1 Fin de vie le 21 août 2021.

Pour plus d’informations, consultez la stratégie de prise en charge de .NET et .NET Core.

macOS appHost et notarisation

macOS uniquement

À compter du SDK .NET Core 3.1 notarisé pour macOS, le paramètre appHost est désactivé par défaut. Pour plus d’informations, consultez Notarisation macOS Catalina et l’impact sur les téléchargements et les projets .NET Core.

Lorsque le paramètre appHost est activé, .NET Core génère un exécutable Mach-O natif lorsque vous créez ou publiez. Votre application s’exécute dans le contexte d’appHost lorsqu’elle est exécutée à partir du code source avec la commande dotnet run ou en démarrant directement l’exécutable Mach-O.

Sans appHost, la seule façon pour un utilisateur de démarrer une application dépendante de l’infrastructure consiste à utiliser la commande dotnet <filename.dll>. Un appHost est toujours créé lorsque vous publiez votre application de manière autonome.

Vous pouvez configurer l’appHost au niveau du projet ou basculer l’appHost pour une commande spécifique dotnet avec le paramètre -p:UseAppHost :

  • Fichier projet

    <PropertyGroup>
      <UseAppHost>true</UseAppHost>
    </PropertyGroup>
    
  • Paramètre de ligne de commande

    dotnet run -p:UseAppHost=true
    

Pour plus d’informations sur le paramètre UseAppHost, consultez Propriétés MSBuild pour Microsoft.NET.Sdk.

Windows Forms

Windows uniquement

Avertissement

Il y a des changements cassants dans Windows Forms.

Des contrôles hérités, qui n’étaient pas disponibles dans la boîte à outils du concepteur Visual Studio depuis un certain temps, ont été inclus dans Windows Forms. Ils ont été remplacés par de nouveaux contrôles dans .NET Framework 2.0. Ils ont été supprimés du SDK Desktop pour .NET Core 3.1.

Contrôle supprimé Remplacement recommandé API associées supprimées
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

Nous vous recommandons de mettre à jour vos applications vers .NET Core 3.1 et de passer aux contrôles de remplacement. Le remplacement des contrôles est un processus simple, essentiellement « rechercher et remplacer » sur le type.

C++/CLI

Windows uniquement

La prise en charge de la création de projets C++/CLI (également appelé « C++ managé ») a été ajoutée. Les fichiers binaires produits à partir de ces projets sont compatibles avec .NET Core 3.0 et versions ultérieures.

Pour ajouter la prise en charge de C++/CLI dans Visual Studio 2019 version 16.4, installez le développement Desktop avec charge de travail C++. Cette charge de travail ajoute deux modèles à Visual Studio :

  • Bibliothèque de classes CLR (.NET Core)
  • Projet vide CLR (.NET)

Étapes suivantes