Nouveautés de .NET Core 2.0

.NET core 2.0 inclut les nouvelles fonctionnalités et améliorations dans les domaines suivants :

Outillage

la restauration de dotnet s’exécute implicitement

Dans les versions précédentes de .NET Core, vous deviez exécuter la commande restauration de dotnet pour télécharger les dépendances immédiatement après la création d’un nouveau projet avec la commande nouveauté de dotnet, ainsi que dès que vous ajoutiez une nouvelle dépendance à votre projet.

Vous n’avez pas besoin d’exécuter dotnet restore, car il est exécuté implicitement par toutes les commandes qui nécessitent une restauration pour se produire, comme dotnet new, dotnet build, dotnet run, dotnet test, dotnet publish et dotnet pack. Pour désactiver la restauration implicite, utilisez l’option --no-restore .

La commande dotnet restore est toujours utile dans certains scénarios où la restauration explicite est logique, comme les builds d’intégration continue dans Azure DevOps Services ou dans les systèmes de génération qui doivent contrôler explicitement le moment où la restauration se produit.

Pour plus d’informations sur la gestion des flux NuGet, consultez la documentation dotnet restore.

Vous pouvez également désactiver l’appel automatique de dotnet restore en passant le commutateur --no-restore sur les commandes new, run, build, publish, pack et test.

Reciblage vers .NET Core 2.0

Si le Kit SDK .NET Core 2.0 est installé, les projets qui ciblent .NET Core 1.x peuvent être reciblés vers .NET Core 2.0.

Pour recibler vers .NET Core 2.0, modifiez votre fichier projet en modifiant la valeur de l’élément <TargetFramework> (ou l’élément <TargetFrameworks> si vous avez plus d’une cibles dans votre fichier projet) de 1.x à 2.0 :

<PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
 </PropertyGroup>

Vous pouvez également recibler les bibliothèques .NET Standard vers .NET Standard 2.0 de la même façon :

<PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
 </PropertyGroup>

Pour plus d’informations sur la migration de votre projet vers .NET Core 2.0, consultez Migration depuis ASP.NET Core 1.x vers ASP.NET Core 2.0.

Support multilingue

En plus de la prise en charge de c# et F#, .NET Core 2.0 prend également en charge Visual Basic.

Visual Basic

Avec la version 2.0, .NET Core prend désormais en charge Visual Basic 2017. Vous pouvez utiliser Visual Basic pour créer des types de projets suivants :

  • Applications de consoles .NET Core
  • Bibliothèques de classes .NET Core
  • Bibliothèques de classes .NET Standard
  • Projets de test unitaire .NET Core
  • Projet de test xUnit .NET Core

Par exemple, pour créer une application Visual Basic « Hello World », procédez comme suit à partir de la ligne de commande :

  1. Ouvrez la fenêtre de la console, créez un répertoire pour votre projet et définissez-le comme répertoire actif.

  2. Entrez la commande dotnet new console -lang vb.

    La commande crée un fichier projet avec une extension de fichier .vbproj ainsi qu’un fichier de code source Visual Basic nommé Program.vb. Ce fichier contient le code source pour écrire la chaîne « Hello World! » dans la fenêtre de console.

  3. Entrez la commande dotnet run. L’interface CLI .NET Core compile et exécute automatiquement l’application, qui affiche le message « Hello World! » dans la fenêtre de la console.

Prise en charge de C#, 7.1

.NET core 2.0 prend en charge C# 7.1, qui ajoute un nombre de nouvelles fonctionnalités, notamment :

  • La méthode Main, le point d’entrée de l’application, peut être marquée avec le mot clé asynchrone.
  • Déduire les noms de tuple.
  • Expressions par défaut.

Améliorations de plate-forme

.NET core 2.0 inclut plusieurs fonctionnalités qui facilitent l’installation de .NET Core et pour l’utiliser sur les systèmes d’exploitation pris en charge.

.NET core pour Linux est une mise en œuvre unique

.NET core 2.0 offre une mise en œuvre unique de Linux qui fonctionne sur plusieurs distributions de Linux. .NET core 1.x exige que vous téléchargiez une mise en œuvre de Linux spécifique à la distribution.

Vous pouvez également développer des applications qui ciblent Linux en tant que système d’exploitation unique. .NET core 1.x exige que vous cibliez séparément chaque distribution Linux.

Prise en charge des bibliothèques de chiffrement Apple

.NET core 1.x sur macOS exige la bibliothèque de chiffrements du kit de ressources OpenSSL. .NET core 2.0 utilise les bibliothèques de chiffrement Apple et ne nécessite pas OpenSSL, vous n’en avez donc pas besoin pour l’installer.

Prise en charge de la bibliothèque et des modifications de l’API

Prise en charge de .NET 2.0 Standard

.NET Standard définit un ensemble par version de l’API qui doit être disponible sur des implémentations .NET conformes à cette version de la norme. .NET Standard est destiné aux développeurs de bibliothèques. Il vise à garantir la fonctionnalité disponible dans une bibliothèque qui cible une version de .NET Standard sur chaque implémentation .NET. .NET Core 1.x prend en charge .NET Standard version 1.6 ; .NET Core 2.0 prend en charge la dernière version, .NET Standard 2.0. Pour plus d'informations, consultez .NET Standard.

.NET Standard 2.0 inclut plus de 20 000 API de plus que dans la version .NET Standard 1.6. Une grande partie de cette surface d’exposition étendue résulte de l’incorporation des API communs à .NET Framework et Xamarin dans .NET Standard.

Les bibliothèques de classes .NET Standard 2.0 peuvent également faire référence à des bibliothèques de classes .NET Framework, à condition qu’elles appellent des API présentes dans .NET Standard 2.0. Aucune recompilation des bibliothèques .NET Framework n’est requise.

Pour obtenir la liste des API ajoutées à .NET Standard depuis sa dernière version, .NET Standard 1.6, consultez .NET Standard 2.0 et 1.6.

Surface d’exposition étendue

Le nombre total d’API disponible sur .NET Core 2.0 a plus que doublé par rapport à .NET Core 1.1.

Et grâce au pack de compatibilité Windows, le portage à partir du .NET Framework est beaucoup plus simple.

Prise en charge des bibliothèques .NET Framework

Le code .NET Core peut faire référence aux bibliothèques .NET Framework existantes, y compris les packages NuGet existants. Notez que les bibliothèques doivent utiliser des API qui se trouvent dans .NET Standard.

Visual Studio, intégration

Visual Studio 2017 version 15,3 et dans certains cas, Visual Studio pour Mac proposent un nombre d’améliorations importantes pour les développeurs de .NET Core.

Reciblage des applications .NET Core et des bibliothèques .NET Standard

Si le Kit SDK .NET Core 2.0 est installé, vous pouvez recibler les projets .NET Core 1.x vers .NET Core 2.0 et les bibliothèques .NET Standard 1.x vers .NET Standard 2.0.

Pour recibler votre projet dans Visual Studio, ouvrez l’onglet Application de la boîte de dialogue des propriétés du projet et modifiez la valeurInfrastructure cible sur .NET Core 2.0 ou .NET Standard 2.0. Vous pouvez également le modifier en cliquant sur le projet avec le bouton droit et en sélectionnant l’option Modifier le fichier *.csproj. Pour plus d'informations, consultez la section Outillage plus haut dans cette rubrique.

Prise en charge de Live Unit Testing pour .NET Core

Lorsque vous modifiez votre code, Live Unit Testing exécute automatiquement tous les tests unitaires affectés en arrière-plan et présente les résultats et la couverture du code dans l’environnement Visual Studio. .NET Core 2.0 prend désormais en charge Live Unit Testing. Live Unit Testing était auparavant disponible uniquement pour les applications .NET Framework.

Pour plus d’informations, consultez Live Unit Testing avec Visual Studio 2017 et le Forum aux questions sur Live Unit Testing.

Meilleure prise en charge pour plusieurs infrastructures cibles

Si vous créez un projet pour plusieurs infrastructures cibles, vous pouvez maintenant sélectionner la plateforme cible dans le menu de niveau supérieur. Dans l’illustration suivante, un projet nommé SCD1 cible macOS X 10.11 64 bits (osx.10.11-x64) et Windows 10/Windows Server 2016 64 bits (win10-x64). Vous pouvez sélectionner l’infrastructure cible avant de sélectionner le bouton du projet, dans ce cas pour exécuter une version de débogage.

Screenshot showing target framework selection when building a project.

Prise en charge côte à côte pour les kits SDK .NET Core

Vous pouvez maintenant installer le Kit SDK .NET Core indépendamment de Visual Studio. Cela rend possible pour une seule version de Visual Studio pour générer des projets qui ciblent des versions différentes du .NET Core. Auparavant, Visual Studio et le Kit SDK .NET Core ont été étroitement couplés ; une version particulière du kit SDK accompagnée d’une version particulière de Visual Studio.

Améliorations de la documentation

Architecture de l’application .NET

L’architecture de l’application .NET vous donne accès à un ensemble de livres électroniques qui fournissent des instructions, des bonnes pratiques et des exemples d’applications lors de l’utilisation de .NET pour générer :

Voir aussi