Partager via



Septembre 2017

Volume 32, numéro 9

Cet article a fait l'objet d'une traduction automatique.

.NET Core - Créez des applications .NET où et quand vous voulez

Par Hall d’Andrew & Joe Morris | Septembre 2017

Nous espérons que vous avez entendu par maintenant que le Microsoft .NET n’est plus simplement pour Windows. .NET core offre la possibilité d’écrire des applications qui s’exécutent sur un système d’exploitation que vous choisissez (Windows, Mac OS ou Linux) à l’aide de la langue que vous préférez (c#, Visual Basic ou F #). Bien évidemment, avec la possibilité d’écrire des applications qui ciblent la plateforme de votre choix, vous attendez les mêmes outils idéale pour les développeurs qui ont toujours été le langage de développement .NET. L’une excellente nouvelle que nos plateformes prises en charge ont augmenté, donc les outils disponibles pour créer des applications .NET. 

Dans cet article, nous allons vous guider les outils de développement disponibles en fonction de votre style de travail personnel et votre système d’exploitation. Nous allons commencer par les outils de ligne de commande inclus avec le Kit de développement logiciel que vous pouvez également associer avec n’importe quel éditeur (bien que nous vous recommandons de Code Visual Studio), puis nous allons montrer les nouvelles fonctionnalités de Visual Studio 2017 excellentes avant la présentation de notre membre plus récente de Visual Studio famille de produits, Visual Studio pour Mac. Enfin, nous terminerons en montrant comment ces outils vous aider à tirer parti des conteneurs de logiciel et essayez de vos applications en toute transparence dans le cloud de Microsoft Azure.

Concepts de base

Dans le cadre de cet article, nous utiliserons le terme «.NET Core » partout par souci de cohérence, mais il existe deux technologies importantes couvertes par ce nom : .NET Core et .NET Standard. .NET core est l’exécution multiplateforme qui exécute des applications. .NET standard est un ensemble d’appliquée par le compilateur d’API qui est utilisées en tant que cible pour les bibliothèques de classes, une seule bibliothèque permettant d’exécuter sur n’importe quel runtime qui prend en charge la norme. Par exemple, .NET Core 2.0, .NET Framework 4.6.1 et Mono 4.8 prend en charge les bibliothèques Standard 2.0 (et antérieures) de la classe .NET. Pour mieux comprendre ce concept, consultez l’article le Guide « Démystification .NET Core et .NET Standard » dans ce problème.

Il est également important de noter les langues prises en charge par .NET Core et Standard de .NET 2.0. À un niveau élevé, les deux technologies de prise en charge c#, Visual Basic et F # 2.0. Toutefois, notre objectif avec Visual Basic cette version était pour activer des bibliothèques de classes .NET Standard 2.0. Cela signifie que Visual Basic propose uniquement les modèles de bibliothèques de classes et les applications de console, tandis que c# et F # incluent également des modèles pour les applications ASP.NET Core 2.0.

Fichier de projet commun améliorée

Une des premières choses que vous remarquerez que sur l’utilisation des projets .NET Core est qu’ils partagent le même format projet très simplifié. Cela signifie qu’un projet créé avec un seul outil (par exemple, les outils de ligne de commande) fonctionnent sur tout ce qui prend en charge de .NET Core (tel que Visual Studio ou Visual Studio pour Mac). Avec notre nouveau format de fichier projet, nous avons supprimé la nécessité pour les GUID et pour répertorier explicitement les fichiers inclus, ce qui réduit considérablement les conflits de fusion lors de la validation des mises à jour au contrôle de version. Le code suivant montre le contenu entier du fichier projet pour une nouvelle application de console c# .NET Core :

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
</Project>

En outre, le format commun signifie que les membres de la même équipe peuvent travailler à l’aide de l’appareil et la plateforme de leur choix. Si un membre de l’équipe souhaite travailler sur un Mac, un autre sur Windows et un troisième sur Linux, ils peuvent en toute transparence contribuer au projet. Pour en savoir plus sur le format de projet mis à jour, visitez aka.ms/newprojectfile.

Outils de ligne de commande

La base de n’importe quel outil de développement est le Kit de développement logiciel (SDK) et .NET Core n’est pas différent. Une des parties intégrales du Kit de développement .NET Core est l’interface de ligne de commande (CLI), ce qui vous permet de créer, générer et exécuter des applications à partir de la ligne de commande. Avec l’interface CLI, vous pouvez utiliser votre éditeur favori pour créer des applications sans avoir à installer les outils de poids supérieur. Pour commencer, installez le libre .NET Core Kit de développement logiciel (disponible à partir de dot.net).

Une fois que le Kit de développement logiciel est installé, ouvrez votre favori invite de commandes et l’exécution « dotnet--help » pour afficher la liste de toutes les commandes disponibles. La commande dotnet est le pilote de l’interface CLI de .NET, où la grammaire est « dotnet < verbe > [paramètres] ». Par exemple, pour afficher tous les modèles de type de projet permettant de créer, tapez « dotnet nouveau ».  Pour créer un nouveau projet, indiquez le nom court comme paramètre de l’action « Nouveau » ; par exemple, « dotnet nouvelle razor » créera une c# ASP.NET Core application Web avec les Pages de Razor 2.0 du nouveau .NET Core (pour en savoir plus sur cette nouvelle fonctionnalité excellente, consultez aka.ms/razorpages). Pour exécuter l’application, le type « dotnet exécuter » et il générera et démarrer l’application. Ouvrez un navigateur à l’URL indiquée dans la chaîne de sortie (par exemple, http://localhost : 5000) vous permet d’interagir avec l’application que vous générez.  À ce stade, le développement est simplement une question de choix de votre éditeur favori pour générer et exécuter l’application.

Tests d'unités

Une fois que vous avez une application, vous souhaiterez ajouter des tests unitaires de prise en charge relativement tôt dans le cycle de vie. Unité test fonctionne avec votre IDE comme prévu, mais vous pouvez également générer et exécuter des tests unitaires directement à partir de l’interface CLI .NET. 

Vous avez peut-être remarqué que « dotnet nouvelle » offre deux types de projet test unitaire différents : xunit et mstest. Pour commencer, créer un projet de test unitaire avec votre test de l’unité par défaut test framework, par exemple « dotnet nouvelle xunit, », puis dans votre type de dossier de projet de test « dotnet ajouter une référence < chemin d’accès au projet à tester > » pour que l’interface CLI à ajouter la référence au projet fichier pour vous. Une fois que vous avez un projet de test unitaire, exécutez vos projets de test à partir de l’interface CLI à l’aide de la commande « dotnet test ». Quel que soit le type de projet que vous avez choisi, projets xunit et mstest sont pris en charge par Visual Studio et Visual Studio pour Mac, ainsi que l’interface CLI.

Visual Studio Code

Pendant que vous avez la possibilité d’utiliser n’importe quel éditeur que vous le souhaitez, nous pensons que Visual Studio Code offre la meilleure expérience possible pour les utilisateurs qui recherchent une légère modification conjointement avec l’interface de ligne de base de .NET.  Code Visual Studio est notre éditeur inter-plateformes léger avec contrôle de code source et le support de débogage intégrés. À l’aide de l’interface CLI .NET avec Code Visual Studio, vous pouvez générer des applications .NET sur n’importe quelle plateforme que vous choisissez. Pour commencer vous devez installer le Kit de développement .NET Core comme décrit précédemment. Une fois que vous l’avez sur votre ordinateur, installez Visual Studio Code à partir de code.visualstudio.com, puis installer l’extension c# à partir de Microsoft : c# pour Visual Studio Code (développé par OmniSharp), en sélectionnant l’onglet de l’extension sur le côté gauche du Code Visual Studio. (Si vous utilisez F #, vous souhaiterez installer l’extension Ionide-fsharp. Notez que l’extension c# est nécessaire pour la génération de .NET Core et de support de débogage.) Vous êtes maintenant prêt à développer des projets .NET Core à l’aide de Visual Studio Code. 

L’extension c# permet d’appeler l’interface CLI de votre part pour générer et exécuter des applications pour le débogage de code Visual Studio. Une fois que vous avez créé votre projet, ouvrez Visual Studio Code et dans le menu fichier, choisissez Ouvrir le dossier. Vous verrez une invite de commandes lorsque vous ouvrez un fichier c# (.cs), une barre de suggestion en haut de l’éditeur pour générer les composants requis pour la génération et le débogage, comme indiqué dans l’offre Figure 1. Choisissez Oui et génère deux fichiers, tasks.json, ce qui permet la génération à partir de Code Visual Studio, et launch.json, ce qui active le débogage. Vous êtes maintenant prêt à modifier, compiler et déboguer directement à partir de Code Visual Studio.

Code Visual Studio pour générer des fichiers requis pour la génération et débogage de l’offre

Figure 1 Code Visual Studio pour générer des fichiers requis pour la génération et débogage de l’offre

Visual Studio

Visual Studio prend toujours en charge une expérience développeur de premier ordre et la prise en charge des outils pour .NET Core n’est pas différente. Prise en charge de .NET core 2.0 a été introduite dans Visual Studio 2017 (version 15.3). Pour commencer l’écriture d’une application .NET Core 2.0 dans Visual Studio, vous devez télécharger et installer le Kit de développement logiciel .NET Core 2.0. Une fois qu’il se trouve sur votre ordinateur, redémarrez Visual Studio et vous verrez .NET Core 2.0 en tant que cible pour les nouveaux projets.

Notre objectif était de faire de Visual Studio 2017 l’expérience de développement plus productif que nous ayons proposés. Pour atteindre quelques avantages, nous avons ajouté les améliorations de navigation de code, un nombre important de nouvelles commandes de correction de refactorisation/rapide, l’application du style de code et en direct des tests unitaires.

Navigation et la refactorisation nous savons qu’il est important de disposer de soutien pour naviguer dans votre base de code pendant que vous travaillez dans votre code. Les améliorations les plus populaires de navigation du code dans Visual Studio 2017 sont :

  • Accédez à l’implémentation (Ctrl + F12) : Accède à partir de n’importe quel type de base ou d’un membre à ses diverses implémentations.
  • Accédez à toutes les (Ctrl + T ou Ctrl +) : Accède directement à une déclaration de fichier/type / / symbole de membre. Vous pouvez utiliser les icônes en haut de la fonctionnalité à filtrer votre liste de résultats, ou utiliser la syntaxe de requête (par exemple, « f searchTerm » pour les fichiers), « searchTerm t » pour les types et ainsi de suite.
  • Rechercher toutes les références (MAJ + F12) : Désormais avec coloration de syntaxe, les résultats de rechercher toutes les références peuvent être personnalisés regroupés par une combinaison de projet, de définition et de chemin d’accès. Vous pouvez également « verrouiller » résultats pour pouvoir continuer à rechercher d’autres références sans perdre les résultats d’origine.
  • Guides de mise en retrait : Lignes verticales en pointillé, gris, agissent en tant que point de code pour fournir un contexte dans le cadre de la vue. Il s’agit de populaires Productivity Power Tools.

En outre, il n’est pas suffisant pour pouvoir simplement naviguer dans votre base de code ; Nous savons que lorsque vous trouvez des emplacements dans votre code pour modifier ou de nettoyage, vous devez les outils qui vous aideront à cette refactorisation. Pour vous aider à cela, nous avez ajouté une prise en charge pour le déplacement d’un type dans un fichier portant le même nom, la synchronisation d’un fichier et tapez nom, ajout d’une vérification de valeur null pour un paramètre, ajout d’un paramètre, ajout d’un cas de commutateur/sélectionner manquant, qui effectue une méthode synchrone, la conversion d’une méthode à la propriété ( et vice versa) et la résolution d’un conflit de fusion, uniquement à titre d’exemple. 

Style de code dans Visual Studio 2017, vous pouvez configurer et appliquer des conventions de codage de votre équipe à la cohérence de lecteur à travers votre référentiel entière avec EditorConfig. EditorConfig est un format de fichier ouvert et nous avons travaillé avec la Communauté pour prendre en charge le style de code .NET dans ce format. Les équipes peuvent configurer les préférences de la convention et choisissez comment ils sont appliquées à l’intérieur de l’éditeur (comme des suggestions, des avertissements ou des erreurs). Les règles s’appliquent pour les fichiers se trouvent dans le répertoire qui contient le fichier EditorConfig. Si vous avez des conventions différentes pour des projets différents, vous pouvez définir les règles de chaque projet dans différents fichiers EditorConfig tant que les projets se trouvent dans des répertoires distincts. À la fin de la journée, EditorConfig est un simple fichier texte, il est donc facile à vérifier dans le contrôle de code source et l’avez live et se déplacent avec votre source. Pour en savoir plus sur la prise en charge de EditorConfig dans Visual Studio, consultez aka.ms/editorconfig.

En direct des tests unitaires une fois que vous avez un MSTest ou le xUnit ou le projet de test NUnit, vous pouvez activer les tests unitaires Live (LUT) pour vos projets .NET Core. LUT est une nouvelle fonctionnalité introduite dans Visual Studio 2017 Enterprise Edition. Lorsque vous activez LUT, vous obtenez unité commentaires de couverture et de réussite/échec de test, actifs dans l’éditeur de code en cours de frappe, comme indiqué dans Figure 2. Cela signifie que vous n’avez plus besoin de quitter l’éditeur pour exécuter des tests unitaires pour vérifier les modifications de code. Dès que vous tapez, vous verrez des commentaires instantanés dans l’éditeur qui montre les résultats pour tous les tests qui sont affectées par la modification du code.

dynamique test unitaire en cours d’exécution sur un projet de base de .NET

Figure 2 dynamique test unitaire en cours d’exécution sur un projet de base de .NET

Les équipes qui sont passionnés de la qualité et les utilisateurs qui connaissent le développement piloté par test (TDD) seront ravis de ce nouvel ajout. Pour activer LUT, accédez à l’entrée de Test dans la barre de menus de Visual Studio et sélectionnez le test unitaire Live | Démarrer.

Visual Studio pour Mac

Visual Studio pour Mac est le membre les plus récents de la famille Visual Studio pour les développeurs qui veulent une expérience d’IDE sur macOS. Visual Studio pour Mac a évolué à partir de Xamarin Studio, qui offre la prise en charge pour les projets c# et F #. Pour commencer, première installation du SDK .NET 2.0 Core (disponible à télécharger à partir de dot.net), choisissez de créer un projet, puis sélectionnez l’entrée de l’application sous la catégorie de .NET Core pour choisir votre modèle de projet souhaité. 

Vous trouverez un IDE riche pour développer des applications .NET Core sur votre Mac, comme indiqué dans Figure 3. Une des choses que nous nous efforçons au consiste à placer une expérience cohérente entre Visual Studio et Visual Studio pour Mac. À ce stade, vous disposez de la plupart des fonctionnalités que vous êtes en dépendent dans Visual Studio, notamment IntelliSense, de naviguer dans le code, de refactorisation, de l’intégration du contrôle de source et de test unitaire. Pour le développement Web, nous avons les éditeurs Visual Studio HTML, CSS et JSON pour Visual Studio pour Mac. Vous remarquerez que Razor (.cshtml) des fichiers JavaScript/TypeScript ne sont pas actuellement pris en charge, et nous nous efforçons mettez qui prennent en charge pour Visual Studio pour Mac dans une prochaine mise à jour.

Visual Studio pour Mac

Figure 3 Visual Studio pour Mac

Outils avec le Cloud Modern à l’esprit

Comme le monde de la technologie évolue, une chose est claire : applications plus vont être conçus pour s’exécuter dans le cloud à partir du début. Cela signifie que vos outils doivent activer les modèles de conception et de pratiques avec le cloud modern à l’esprit, ainsi que vous permettent de déplacer rapidement une application à partir de votre ordinateur de développement local vers le cloud.  Dans ce but à l’esprit, Visual Studio et Visual Studio pour Mac ont une prise en charge intégrée pour la publication directement à Microsoft Azure et pour empaqueter des applications en tant que conteneurs Docker.

Publier directement sur Azure lorsque vous êtes prêt à passer d’une application de s’exécuter dans le cloud, vous voudrez probablement commencer par essayer de dans le cloud avec aussi peu d’efforts que possible. Visual Studio et Visual Studio pour Mac permettent de publier une application directement à partir de votre ordinateur pour le Service d’applications Azure. Service d’applications est un environnement de cloud entièrement géré qui vous permet d’exécuter votre application sans avoir à vous soucier de gestion de configuration ou d’infrastructure complexe.

Il est aussi simple que droit sur le projet et en choisissant de publication de votre application à partir de votre ordinateur local vers Azure App Service de publication à partir de Visual Studio ou Visual Studio pour Mac. Vous êtes invité à entrer des informations, telles que l’URL unique pour votre application, et vous serez en mesure de choisir soit un existant du Plan App Service (le nombre de ressources à réserver pour la collection des applications de membre) ou créez-en un nouveau si vous n’en avez pas encore. Une fois que vous avez entré les informations, votre application s’exécute dans le cloud en quelques minutes. 

Outils de développement de conteneur une des choses devient clair sur le développement de cloud modernes est que les conteneurs sont révolutionner les façon dont les gens concevoir et créer des logiciels. Les conteneurs permettent d’empaqueter votre application et toutes ses dépendances, y compris une copie de l’exécution, en une seule unité, garantissant que les modifications sur le serveur sous-jacent interrompra jamais votre application. Cela permet à un modèle d’architecture de microservice dans lesquels vous déployez chaque unité de logique dans votre application comme un conteneur distinct, avec un protocole défini pour communiquer entre eux. Cela vous permet de mettre à l’échelle de forte demande des parties de l’application en fonction des besoins sans payer les coûts de mise à l’échelle de l’application entière, et il signifie que les correctifs affectent uniquement le conteneur qui est mis à jour au lieu de l’ensemble de l’application.

Dans cette optique, un de nos objectifs avec le .NET Core est le premier runtime pour la création de microservices en conteneur. Visual Studio, Visual Studio pour Mac et Visual Studio Code tous les prend en charge de génération d’applications en tant que conteneurs Docker. (Notez qu’au moment de la rédaction, Docker outils de support pour Visual Studio pour Mac requiert l’extension des outils Docker et que Microsoft propose une extension de Docker pour Visual Studio Code prendre en charge des conteneurs Docker création).

Pour créer un conteneur Docker, vous avez besoin des outils de Docker pour votre système d’exploitation installé (en savoir plus et télécharger à partir de docker.com). Une fois que vous avez des exigences installés, il vous souhaitez dans Visual Studio ou Visual Studio pour Mac est droit sur le projet, choisissez Ajouter et sélectionnez prise en charge Docker. Cette opération ajoute un projet docker-compose à votre solution et un fichier Dockerfile au projet. Ces ressources permettent à votre projet dans un conteneur Docker. Lorsque vous exécutez l’application à partir de l’IDE, vous allez en cours d’exécution et débogage de votre application à l’intérieur d’un conteneur, plutôt que sur l’ordinateur hôte directement. Est que la publication pour une expérience Azure App Service évoqué également prend en charge des conteneurs Linux Docker publication.

Conclusion

Si vous n’avez pas encore essayé de création d’une application .NET Core, il n’existe aucun meilleur moment pour commencer à présent. .NET core et .NET Standard 2.0 (comme présenté dans l’article « Démystification .NET Core et .NET Standard ») créer une application .NET facile, quel que soit le style de travail ou les outils, du système d’exploitation, vous choisissez. 

Nous espérons que vous avez trouvé cette visite guidée des outils .NET Core disponibles utile. Vous pouvez continuer à suivre la progression et les futures améliorations de l’équipe sur notre blog à aka.ms/dotnetblog. Essayez les outils nous points discutés et faites-nous part de vos commentaires sur ce que nous pouvons faire pour améliorer votre expérience de création d’applications .NET Core. Vous pouvez laisser des commentaires et questions sur notre billets de blog, ou nous envoyer vos commentaires directement par le biais de Visual Studio et Visual Studio pour Mac à l’aide de la signaler un problème et fournissent une Suggestion des fonctionnalités intégrées à l’IDE.


Andrew Hall est le responsable de programme pour les langages .NET et les outils dans Visual Studio. Décroché à partir de l’université, après avoir, il a écrit line-of-business applications avant de retourner à l’école pour son maîtrise en informatique. À l’issue de sa maîtrise, il a rejoint l’équipe de diagnostics dans Visual Studio où il a travaillé sur les outils d’analyse de débogueur, profilage et le code. Il a ensuite vers l’équipe de langages et outils .NET où il travaille sur les langages .NET et les outils de prise en charge, y compris des outils pour ASP.NET, Web et du Service d’applications Azure. Vous pouvez atteindre Hall via Twitter : @AndrewBrianHall.

Joe Morris est responsable de programme pour les outils de .NET Core et dynamique des tests unitaires dans Visual Studio. Il conserve une maîtrise en informatique. Il a débuté sa carrière en tant que consultant en développement d’applications aux entreprises aux États-Unis 1990. Il a rejoint Microsoft en 1997 avec les Services de conseil Microsoft, Iowa et versions ultérieures déplacé vers Redmond. Au cours des deux dernières années, il se concentre a été sur les outils de productivité pour analyse et developer statique du code. Vous pouvez atteindre Morris via Twitter : @_jomorris.

Grâce aux experts techniques Microsoft suivants ayant révisé cet article : Dustin Campbell, Phillip Dumas, Livar Cunha, Mikayla Hutchinson, Mads Kristensen, Jordanie Matthiesen et Kasey Uhlenhuth

 


Discussion sur cet article sur le forum MSDN Magazine