Visual Studio 2017

Last Update: 27/04/2017

Pour afficher les dernières mises à jour, consultez les Notes de mise à jour.

Nous sommes heureux de vous annoncer la publication de Visual Studio 2017. Cette version offre une nouvelle expérience d’installation allégée et modulaire qui peut être adaptée à vos besoins.

Utilisez Visual Studio 2017 afin de développer des applications pour Android, iOS, Windows, le web et le cloud. Écrivez votre code rapidement, déboguez et diagnostiquez facilement, testez souvent et publiez en toute confiance. Vous pouvez également étendre et personnaliser Visual Studio en créant vos propres extensions. Bénéficiez de la gestion de version et collaborez efficacement avec cette nouvelle version !

Téléchargement : Visual Studio Enterprise 2017

Pour en savoir plus sur les autres téléchargements associés, consultez la page Téléchargements. Consultez aussi Configuration système requise pour la famille de produits Visual Studio 2017 et Ciblage et compatibilité de la plateforme Visual Studio 2017.

Commentaires

Nous aimerions connaître votre opinion ! En cas de problèmes, faites-le nous savoir par le biais de l’option Signaler un problème en haut à droite dans le programme d’installation ou l’IDE Visual Studio. Effectuez le suivi de vos commentaires dans le portail de la communauté des développeurs (Developer Community). Faites-nous part de vos suggestions par le biais de UserVoice.

Historique des versions

Problèmes connus

Consultez la section Problèmes connus.


Date de publication : 17 avril 2017 - version 15.1 (26403.07)

Problèmes résolus dans cette version

Voici les problèmes signalés par des clients et résolus dans cette version :

Autres problèmes abordés dans cette version :

  • Les notifications des mises à jour ne seront pas reçues lors de l’installation à partir d’une disposition en mode hors connexion dans les environnements sans accès à Internet, même si la disposition en mode hors connexion est mise à jour vers la version la plus récente.

Date de publication : 10 avril 2017 - version 15.1 (26403.03)

Problèmes résolus dans cette version

Voici les problèmes signalés par des clients et résolus dans cette version :


Date de publication : 5 avril 2017 - version 15.1 (26403.00)

Récapitulatif des mises à jour de cette version


Problèmes résolus dans cette version

Pour en savoir plus sur les problèmes résolus dans la version 15.1, visitez le portail de la communauté des développeurs.

Nouveautés de cette version

Nouvelle installation autonome de Team Explorer

Visual Studio Team Explorer 2017 est un client autonome riche qui permet d’accéder à Team Foundation Server et Visual Studio Team Services. Il est gratuit pour tous les utilisateurs. Cette installation inclut uniquement Team Explorer pour vous permettre d’accéder à la gestion de version et au suivi des éléments de travail sans composant IDE supplémentaire.

Team Explorer

Outils pour le développement d’applications Windows universelles

La charge de travail Application Windows universelle inclut désormais le SDK Creators Update (10.0.15063), qui vous permet de créer des applications pour Windows 10 Creators Update (version 1703). Par ailleurs, cette version inclut les améliorations suivantes :

  • À compter du SDK Creators Update, le SDK Windows 10 s’installe côte à côte, ce qui vous permet d’utiliser un seul ordinateur pour créer des applications prêtes pour la production qui ciblent la version publiée du SDK et vous permet également de commencer à tester les nouvelles fonctionnalités du système d’exploitation fournies par une préversion du SDK Windows.
  • La gestion des packages NuGet a été améliorée par l’utilisation de PackageReference qui remplace package.config et package.json.
  • Un compilateur .NET Native amélioré est désormais inclus sous forme de package NuGet.
  • Visual Studio inclut une prise en charge améliorée des outils pour les contrôles XAML fournis sous forme de packages NuGet.
  • IntelliSense dans l’éditeur XAML met désormais en surbrillance les types et les propriétés XAML qui ne sont pas pris en charge dans la version du SDK ciblé par votre application.

Pour plus d’informations, consultez Creators Update SDK support in Visual Studio 2017 (Prise en charge du SDK Creators Update dans Visual Studio 2017).


Date de publication : 31 mars 2017 - version 15.0 (26228.12)

Nouveautés de cette version

  • Nous prenons désormais en charge les outils et les API de Xcode 8.3, iOS 10.3, watchOS 3.2 et tvOS 10.2 dans l’extension Xamarin.VS pour Visual Studio 2017.

Date de publication : 28 mars 2017 - version 15.0 (26228.10)

Problèmes résolus dans cette version

Voici les problèmes signalés par des utilisateurs et résolus dans la build 26228.10 :


Date de publication : 14 mars 2017 - version 15.0 (26228.09)

Problèmes résolus dans cette version

Voici les problèmes signalés par des utilisateurs et résolus dans la build 26228.09 :


Date de publication : 7 mars 2017 - version 15.0 (26228.04)

Résumé

Développement : parcourez, écrivez et corrigez votre code rapidement

  • Nouvelle expérience d’installation : encombrement minimal réduit pour une installation plus rapide et personnalisable, et prise en charge des installations hors connexion.
  • IDE de Visual Studio : un large éventail d’améliorations ont été apportées à Visual Studio 2017, notamment l’accélération de la vitesse de démarrage et de chargement de solution, l’expérience d’identification et de connexion, la navigation du code, l’affichage des dossiers ouverts, ainsi que des services connectés qui autorisent les connexions entre votre application et tout service local ou dans le cloud.
  • Visual C++ : aucun changement important entre les versions 2015 et 2017. Amélioration du niveau de conformité C++14, de la prise en charge de CMake, du débit de build et de la productivité dans l’éditeur.
  • C# et Visual Basic : extension de la prise en charge des nouvelles fonctionnalités de langage C# 7.0 et Visual Basic 15, et introduction de nouvelles refactorisations qui vous permettent d’organiser le code source en une seule action.
  • F# : prise en charge des fonctionnalités de langage F# 4.1, améliorations apportées au compilateur F# et à FSharp.Core, et un nouvel éditeur basé sur les espaces de travail Roslyn.
  • JavaScript et TypeScript : TypeScript 2.1 est disponible pour tous les projets TypeScript dans Visual Studio. Un nouveau service de langage JavaScript est disponible et activé par défaut.

Débogage : déboguez, profilez et diagnostiquez facilement

  • Débogage et diagnostics : remaniement de l’assistance de l’exception et navigation plus rapide dans le code avec Run to Click (Exécuter jusqu’au clic). De plus, nouveau résumé des événements de votre application dans la fenêtre Outils de diagnostic et plusieurs améliorations apportées à l’outil du processeur.

Test : écrivez du code de qualité à l’aide d’outils de test complets

  • Live Unit Testing : visualisez les résultats des tests unitaires et la couverture du code en direct dans l’éditeur.
  • Outils de test : associez l’automation à des éléments de travail de cas de test à l’aide de l’Explorateur de tests.

Collaboration : utilisez la gestion de version, travaillez en continu et collaborez avec efficacité

Extension : personnalisez à votre guise en construisant vos propres extensions

Équipement : utilisez des outils pour accroître votre productivité et explorer les nouvelles fonctionnalités

  • .NET Core et ASP.NET Core : contient la version finale 1.0 des nouveaux outils .NET Core basés sur MSBuild. Avec Visual Studio 2017, vous pouvez créer des bibliothèques standard .NET, des applications/bibliothèques .NET Core et des projets web ASP.NET qui utilisent le nouveau format csproj.
  • Outils pour le développement d’applications Windows universelles : cette version offre des mises à jour telles qu’une nouvelle version de la chaîne d’outils native .NET, le framework NuGet de .NET Core, de nouveaux outils de productivité et la prise en charge du SDK « Windows 10 Creators Update ».
  • Xamarin : Xamarin 4.3 ajoute la prise en charge de tvOS tout en améliorant la prise en charge du catalogue de ressources iOS et l’expérience de modification du code XML.
  • Visual Studio Tools pour Apache Cordova : un nouveau simulateur basé sur le navigateur vous permet de coder rapidement et de voir immédiatement les résultats.
  • Node.js Tools pour Visual Studio : les mises à jour mettent l’accent sur la stabilité, les performances et la qualité globale du produit.
  • Visual Studio Tools pour Unity : Visual Studio Tools pour Unity 3 est désormais disponible avec la charge de travail « Développement de jeu avec Unity » à partir du nouveau programme d’installation de Visual Studio.
  • Redgate Data Tools : afin d’étendre les fonctionnalités DevOps au développement de base de données SQL, Visual Studio inclut désormais Redgate Data Tools, qui comprend Redgate ReadyRoll Core, SQL Search et SQL Prompt Core.
  • NuGet : NuGet prend désormais en charge le stockage des informations de dépendance de package directement dans les fichiers projet en tant que références de package, tout en conservant les avancées offertes par les références de package transitives.
  • Outils pour les applications XAML : la barre d’outils d’exécution XAML vous permet désormais d’effectuer le suivi du focus. La productivité XAML a été améliorée avec l’option Modifier & Continuer pour le code XAML, les améliorations apportées à l’éditeur XAML et les optimisations des performances.
  • Data Tools et SQL Server : la dernière mise à jour de SQL Server Data Tools permet la prise en charge des fonctionnalités les plus récentes d’Azure SQL Database et de SQL Server 2016.
  • Developer Analytics Tools : Visual Studio 2017 inclut Developer Analytics Tools v8.6, qui offre de nombreuses améliorations des fonctionnalités Application Insights et HockeyApp dans Visual Studio.
  • Outils de développement Office pour Visual Studio : inclut les Outils de développement Office avec les dernières fonctionnalités et mises à jour.
  • Validation des dépendances de l’architecture en direct : notifications en temps réel des diagrammes de validation de dépendance (également appelés diagrammes de couche).
  • Invite de commandes développeur : scripts refactorisés pour prendre en charge la nouvelle expérience d’installation.
  • Kit SDK Azure pour .NET : désormais disponible à partir du nouveau programme d’installation de Visual Studio.

Problèmes résolus dans cette version

Visitez le portail de la communauté des développeurs pour voir tous les problèmes résolus dans Visual Studio 2017 (version 15.0).

Nouveautés dans Visual Studio 2017

Expérience d’installation

Nous sommes très heureux de vous présenter notre nouveau programme d’installation, qui a été conçu dès le départ pour :

  • Réduire l’encombrement minimal de Visual Studio.
  • Installer plus rapidement, avec moins d’impact sur le système, et désinstaller proprement.
  • Faciliter la sélection et l’installation des seules fonctionnalités nécessaires.

Quand vous installez Visual Studio 2017 pour la première fois, vous bénéficiez de la nouvelle expérience :

The new installation experience in Visual Studio 2017

L’installation minimale nécessite seulement quelques centaines de mégaoctets, mais inclut néanmoins la prise en charge de la modification du code de base pour plus de 20 langages, notamment le contrôle de code source. La plupart des utilisateurs veulent une installation plus étendue. Vous pouvez ajouter une ou plusieurs « charges de travail » représentant les frameworks, les langages et les plateformes courants, couvrant tout ce qui va du développement d’applications de bureau .NET au développement de jeux avec Unity.

Comment mettre à jour Visual Studio

Pour mettre à jour Visual Studio, exécutez le programme d’installation de Visual Studio et cliquez sur le bouton « Mettre à jour ».

Commentaires sur le nouveau programme d’installation

Vous pouvez signaler des problèmes ou nous féliciter à l’aide des commandes Signaler un problème et Fournir une suggestion du nouveau client du programme d’installation dans l’angle supérieur droit de la barre de titre. Nous avons besoin de savoir si vous rencontrez des erreurs pendant l’installation, la désinstallation ou la modification de votre installation, ainsi que des durées d’installations anormales (par exemple, des blocages) ou des messages d’erreur inattendus.

Création d’une structure pour l’installation hors connexion et nouvelle prise en charge de l’installation en ligne de commande

Les administrateurs système et autres utilisateurs peuvent maintenant créer une structure hors connexion de Visual Studio qui contient tous les éléments nécessaires pour installer le produit sans accès Internet. Cette structure peut être le produit complet, un sous-ensemble de charges de travail et/ou de composants, et un ou plusieurs paramètres régionaux de produit. Notez que la création de la structure en mode hors connexion requiert un accès Internet. Pour plus d’informations, consultez Créer une installation hors connexion de Visual Studio 2017.

Surnom de l’installation

Visual Studio Enterprise et Community (parmi d’autres produits) peuvent maintenant être installés côte à côte sur le même ordinateur. Pour simplifier l’identification de ces installations, vous pouvez spécifier un nom court ou « surnom ». Par exemple, si vous devez installer Visual Studio Enterprise, puis Community, les deux s’affichent de façon identique dans le menu Démarrer. Vous pouvez donner au second un surnom comme « community » et les éléments du menu Démarrer s’affichent avec des noms comme « Visual Studio 2017 (community) » et « Invite de commandes développeur pour Visual Studio 2017 (community) ».


IDE Visual Studio

Améliorations apportées à l’IDE

  • Visual Studio a été optimisé pour réduire le temps de démarrage et le temps de chargement des solutions. Le tout premier démarrage de Visual Studio est au moins 50 % plus rapide.
  • Visual Studio surveille désormais les performances des extensions qui ont une incidence sur le démarrage, le chargement des solutions ou l’édition. Vous recevez des alertes via la barre Notification de l’IDE quand des extensions ont un impact négatif sur les performances. Le nouveau Centre de performances (auquel vous pouvez aussi accéder en choisissant Aide > Gérer le niveau de performance de Visual Studio) vous permet d’afficher les extensions qui ont un impact sur les performances ainsi que les fenêtres de l’outil de découverte qui affectent les performances de démarrage, et de modifier leur comportement de chargement au démarrage.
  • L’extension GitHub pour Visual Studio peut être sélectionnée dans le nouveau programme d’installation de Visual Studio.
  • Recharger tous les projets a été remplacé par Recharger la solution pour obtenir de meilleures performances lors du changement de branches extérieures à Visual Studio. Quand vous utilisez la ligne de commande Git pour changer de branches, choisissez Recharger la solution une fois que la branche a été changée pour améliorer au maximum les performances.
  • Les fonctionnalités d’utilisation des caractères génériques pour les fichiers ont été améliorées pour les projets .NET Core et ASP.NET Core. Pour plus d’informations, consultez Utilisation des caractères génériques pour les fichiers des projets.
  • Vous êtes maintenant automatiquement dirigé vers la vue Dossiers de votre dépôt après un clonage. Vous pouvez afficher des fichiers ou ouvrir des solutions avec la nouvelle liste de sélection de solution dans l’Explorateur de solutions.
  • Un nouvel hôte de service externe va remplacer VSHub. Ce nouvel hôte de service est un processus externe qui s’affiche dans le Gestionnaire des tâches sous les noms ServiceHub.Host.CLR.*.exe et ServiceHub.Host.Node.x86.exe. Cet hôte élimine totalement le trafic HTTP localhost qui a été introduit avec VSHub, ce qui va réduire le bruit de Fiddler signalé par les utilisateurs.
  • Les messages d’expiration de licence de la préversion expriment plus clairement l’état actuel de la licence.
  • La boîte de dialogue Paramètres du compte est désormais plus lisible à d’écran.
  • Une aide en mode hors connexion est désormais disponible en installant le composant Visionneuse d’aide à partir du programme d’installation de Visual Studio.
  • Vous pouvez désormais ajouter et supprimer plusieurs langues d’interface utilisateur à tout moment par le biais du programme d’installation de Visual Studio sous l’onglet Modules linguistiques. Vous pouvez sélectionner la langue d’interface utilisateur actuelle parmi celles installées en utilisant Outils > Options > Paramètres internationaux.
  • La barre d’état de la gestion de version facilite la publication de dépôts locaux sur un hôte de contrôle de code source, ainsi que le suivi du travail non validé et non soumis.

Version Control - Unpublished commits example

Version Control - No pending changes example

Améliorations de la connexion et de l’identification

Nous avons créé un nouveau service d’identité qui vous permet de partager des comptes d’utilisateur parmi les outils de développement Microsoft. Dans Visual Studio, ce partage inclut des fonctionnalités telles que Team Explorer, Azure Tools, la publication dans le Windows Store et bien plus encore. Ces fonctionnalités partagent désormais une expérience de connexion commune et cohérente.

En plus des améliorations apportées à Visual Studio, nous avons terminé le déploiement de certaines améliorations côté service qui permettent aux utilisateurs de rester connectés en toute sécurité et d’éliminer les connexions forcées toutes les 12 heures. Cela résout le problème de connexion le plus couramment signalé. En savoir plus sur la réduction du nombre d’invites dans Visual Studio.

Page de démarrage

La page de démarrage remaniée offre de nouvelles fonctionnalités d’ouverture et de création :

  • Acquérez des dépôts distants depuis VSTS ou utilisez notre liste plus visible des derniers éléments utilisés pour ouvrir facilement des projets locaux et des solutions.
  • La liste des éléments récemment utilisés de la page de démarrage affiche les dépôts que vous avez clonés sur d’autres ordinateurs, ce qui vous permet de les cloner facilement sur votre ordinateur actuel.
  • Créez un projet directement depuis la page de démarrage à l’aide de modèles que vous pouvez rechercher et de la liste des modèles récemment utilisés. Les derniers modèles utilisés se trouvent aussi dans les instances de Visual Studio avec un compte de personnalisation.
  • Lancez rapidement le nouveau clone à partir d’une expérience VSTS par le biais de l’option « Extraction de VSTS » dans la page de démarrage.
  • Section « Démarrer » révocable.
  • La section Informations peut désormais être réduite :
    • Mise à jour du badge sur les éléments récemment ajoutés dans le flux d’actualités.
    • Badge sur le développeur de flux d’actualités si de nouveaux éléments apparaissent quand le flux d’actualités est réduit.
  • Conception plus précise de l’affichage pour résoudre les problèmes signalés dans les commentaires sur les éléments tronqués sur les écrans plus petits et sur l’utilisation de l’espace vide.

La nouvelle page de démarrage est présentée ci-dessous.

Start Page with Get Started and News

Navigation améliorée dans le code

Nous avons apporté dans Visual Studio 2017 des améliorations significatives aux fonctionnalités de navigation dans le code :

  • La fonction Atteindre tout (Ctrl +, ou Ctrl + T) vous permet de trouver et d’accéder rapidement aux fichiers, types, méthodes et à d’autres éléments de votre code. Cela vous permet de rechercher des éléments de tout type, même dans les grandes bases de code. De plus, si vous connaissez le type d’élément que vous recherchez, vous pouvez facilement filtrer. En C#, Visual Basic et F#, nous avons également ajouté une correspondance « approximative » ; si vous orthographiez mal un nom de type, vous obtiendrez quand même des résultats. Nous avons aussi modernisé l’expérience de la fonctionnalité Atteindre la ligne (Ctrl+G). Vous trouverez la famille de commandes Aller à en haut du menu Edition.

Go To Results Filtered

Go To Line

  • La fonction Rechercher toutes les références (Maj+F12) a été remaniée (actuellement pour C#, Visual Basic, F# et C++) pour offrir des fonctions avancées de regroupement, de filtrage, de tri et de recherche dans les résultats des références, ainsi qu’une coloration des résultats (pour C# et VB), qui vous permettront d’obtenir une vision claire de vos références et d’accéder facilement à la ligne de code dont vous avez besoin. Quand vous placez la souris sur un élément de référence, une info-bulle apparaît avec le contexte de la référence dans le code source (pour C# et VB). Quand vous cliquez sur le bouton Conserver les résultats dans la barre d’outils, l’appel suivant de Rechercher toutes les références affiche les résultats des références dans une nouvelle fenêtre. Ceci vous permet de conserver les résultats actuels dans la fenêtre existante.

Find All References

  • Des lignes de repère de structure apparaissent désormais dans l’éditeur pour vous permettre de visualiser facilement la structure du code où vous travaillez. Quand vous placez la souris sur une ligne, une info-bulle s’affiche : elle contient le contexte du bloc de code en cours en relation avec ses blocs parents. Les lignes de repère de structure sont actuellement prises en charge pour les fichiers C#, Visual Basic, F# et XAML, et pour tous les fichiers pris en charge via des grammaires TextMate. Vous pouvez désactiver cette fonctionnalité dans la boîte de dialogue Outils > Options en décochant la case Afficher les lignes de repère de structure sous la catégorie Éditeur de texte > Général.

Structure Guide Lines

Prise en charge des conventions de codage par l’intermédiaire d’EditorConfig

L’éditeur Visual Studio prend désormais en charge EditorConfig, qui permet aux développeurs de définir et de gérer des conventions de style de codage cohérentes entre différents éditeurs et différents IDE. Pour plus de détails, consultez Documentation. Pour plus d’informations sur l’utilisation des fichiers .editorconfig pour gérer votre style de code .NET, consultez Documentation .NET. Pour connaître les limitations de la prise en charge d’EditorConfig dans cette version, consultez Problèmes connus.

Ouvrir un dossier

L’option Ouvrir un dossier vous permet de travailler avec des bases de code sans projet ni solution. Ouvrez l’affichage des dossiers à partir de Fichier > Ouvrir > Dossier, puis sélectionnez un dossier à parcourir.

The new Open Folder feature in the Visual Studio IDE

Vous pouvez ouvrir et modifier des fichiers à l’aide de l’Explorateur de solutions. La coloration syntaxique et la navigation par symboles (GoTo) sont prises en charge pour de nombreux langages courants. Certains langages bénéficient en plus d’une prise en charge avancée d’IntelliSense et du débogage directement à partir du dossier :

  • C++ (CMake).
  • Node.js - JavaScript/TypeScript.
  • C# & VB.

Vous pouvez générer ou déboguer en utilisant F5 et le menu contextuel du fichier dans l’Explorateur de solutions. Pour bénéficier d’une meilleure expérience, installez la charge de travail pour les langages que vous utilisez.

Avec la vue Dossier, vous pouvez également :

  • Rechercher dans le code de votre dossier avec GoTo (Ctrl+,).
  • Limiter l’arborescence de l’Explorateur de solutions aux sous-dossiers.
  • Ouvrir des dossiers dans l’Explorateur ou l’invite de commandes à partir de l’Explorateur de solutions.
  • Basculer facilement entre les solutions au sein du dossier ou du dépôt ouvert à l’aide de la liste déroulante de sélection des solutions.
  • Configurer les paramètres de débogage et de lancement avec launch.vs.json. Cliquer avec le bouton droit sur un fichier pouvant être débogué et sélectionner Paramètres de débogage et de lancement.
  • Configurer des tâches et personnaliser la génération avec tasks.vs.json. Cliquer avec le bouton droit sur n’importe quel fichier et sélectionner Configurer les paramètres de tâche.
  • Launch.vs.json et tasks.vs.json bénéficient d’IntelliSense dans l’éditeur JSON.

Les performances de l’ouverture des dossiers et le passage de la vue Dossier à la vue Solution ont été considérablement améliorés.

Chargement de solution allégé

Le chargement de solution allégé permet d’accélérer le chargement des solutions volumineuses. Il peut améliorer sensiblement le temps de chargement et l’utilisation de la mémoire pour les solutions volumineuses. Par défaut, la fonctionnalité n’est pas activée. Elle peut être activée pour une solution spécifique ou globalement dans l’IDE. Pour l’activer globalement, accédez à Outils > Options, sélectionnez Général sous Projets et solutions ou recherchez « Chargement de solution allégé » avec Lancement rapide. La fonctionnalité peut être activée et désactivée pour des solutions individuelles dans le volet Propriétés de la solution.

The new Lightweight Solution load feature in the Visual Studio IDE

Le chargement de solution allégé est idéal pour les solutions volumineuses qui contiennent du code C#, ou un mélange de projets C# et C++. Vous pouvez être invité à activer la fonctionnalité si nous détectons que vous travaillez avec des solutions volumineuses. Vous trouverez plus de détails sur cette fonctionnalité sur le blog Visual Studio.

Les performances des générations de solutions complètes ont été considérablement améliorées, désormais à parité avec le chargement de solution classique.

Prise en charge de la coloration syntaxique, de la saisie semi-automatique, des extraits de code et de la recherche « Naviguer vers » pour davantage de langages

En plus de la prise en charge que nous avons ajoutée par le biais des mises à jour de Visual Studio 2015, Visual Studio 2017 prend désormais en charge la coloration syntaxique et la saisie semi-automatique pour un plus grand nombre de langages. De plus, certains de ces langages prennent également en charge la navigation par le biais de la fonctionnalité « Naviguer vers » (Ctrl+) et/ou les extraits de code.

Les fichiers pour les langages indiqués ci-dessous prennent en charge ces fonctionnalités dans le nouvel Éditeur de base de Visual Studio même quand aucune charge de travail n’a été installée pour prendre en charge explicitement le langage en question. Si une charge de travail assurant une prise en charge linguistique est installée (par exemple, la charge de travail du développement d’applications de bureau .NET, la charge de travail du développement d’applications de bureau Windows avec C++, etc.), une prise en charge linguistique plus importante, notamment d’IntelliSense et d’autres fonctionnalités de langage avancées telles que les ampoules, est peut-être fournie.

Types de fichiers de langage répertoriés par niveau de prise en charge :

  • Prend uniquement en charge la colorisation de la syntaxe et la saisie semi-automatique :
    • Bat, Clojure, CoffeeScript, CSS, Docker, F#, Groovy, INI, Jade, Javadoc, JSON, LESS, LUA, Make, Markdown ++, Objective-C, Perl, PowerShell, Python, Rust, Shaderlab, SQL, Visual Basic .NET, YAML.
  • Prend en charge les extraits de code (en plus de la coloration syntaxique et de la saisie semi-automatique) :
    • CMake, C++, C#, Go, Groovy, HTML, Java, Javadoc, JavaScript, Lua, Perl, PHP, R, Ruby, Shellscript, Swift, XML.
  • Prend en charge la fonctionnalité Naviguer vers (en plus de la coloration syntaxique et de la saisie semi-automatique) :
    • C++, C#, Go, Java, JavaScript, PHP, TypeScript, Visual Basic.

Bien démarrer avec les pages Vue d’ensemble du projet

Nous présentons une expérience entièrement nouvelle permettant de bien démarrer avec les nouveaux projets. Nous avons remplacé les pages de démarrage actuelles par un onglet Vue d’ensemble dans le nouveau Concepteur de configuration d’application et avons condensé dans cette page les actions qui vous permettent d’être opérationnel rapidement ! Vous verrez cette nouvelle présentation dans les projets ASP.NET 4.x, ASP.NET Core et Cordova.

Project Overview

Connexion aux services à l’aide des services connectés

Dans une version antérieure, cette fonctionnalité était nommée « fonctionnalités de service ». Nous avons remplacé ce nom par « services connectés ».

Les services connectés représentent la fonctionnalité « Ajouter un service connecté » ou « Ajouter une référence de service » modernisée de Visual Studio 2017. La fonctionnalité des services connectés facilite la connexion de votre application à des services. Un nouveau nœud appelé « Services connectés » est disponible dans l’Explorateur de solutions pour les types de projets web et mobiles. Double-cliquez sur ce nœud pour ouvrir un nouvel onglet dans Visual Studio. Il s’agit d’une page complète où vous pouvez découvrir les services Microsoft les plus courants auxquels vous pouvez vous connecter.

La sélection d’un service dans la page Services connectés appelle l’Assistant Services connectés, qui configure votre projet et télécharge les packages NuGet nécessaires pour vous permettre de démarrer le codage rapidement et facilement pour votre service.

Connected Services

Acquisition « in-product » d’outils et de fonctionnalités

Visual Studio 2017 permet d’acquérir facilement des charges de travail et des composants supplémentaires sans quitter l’IDE. Tirez parti du lancement rapide pour rechercher et démarrer le programme d’installation de Visual Studio pour n’importe quelle charge de travail ou n’importe quel composant individuel.

In-product acquisition via Quick Lauch

Si vous ne trouvez pas les modèles que vous recherchez, vous pouvez aussi ouvrir le programme d’installation de Visual Studio à partir de la boîte de dialogue Nouveau projet.

In-product acquisition via New Project Dialog


Visual C++

Visual Studio 2017 comprend un grand nombre de mises à jour et de correctifs de l’environnement Visual C++. Merci d’avoir signalé ces bogues. Nous avons corrigé plus de 250 bogues et signalé des problèmes dans le compilateur et les outils, dont la plupart avaient été soumis par des clients via Microsoft Connect. Dans cette version, nous avons travaillé sur l’amélioration des performances de la bibliothèque STL. Le nouveau moteur de base de données SQLite est désormais celui utilisé par défaut. Ceci permet d’accélérer les opérations de base de données, comme que « Atteindre la définition » ou « Rechercher toutes les références », et d’améliorer considérablement le temps d’analyse de la solution initiale. Nous fournissons à présent une expérience d’installation plus fine pour la charge de travail C++ d’origine. Nous avons ajouté des composants sélectionnables qui vous permettent d’installer uniquement les outils dont vous avez besoin. La prise en charge de CMake dans Visual Studio est prête à faire son entrée ! Chargez vos projets CMake directement dans VS et commencez à coder. Améliorations de l’expérience de la fonctionnalité C++ « Ouvrir le dossier » : ajoutez votre code source à VS sans avoir à créer aucun projet ni aucune solution VS. « Naviguer vers » est remplacé par « Atteindre », un terme générique qui désigne un ensemble de nouveaux filtres de navigation. Vous trouverez ainsi plus facilement les bons résultats, en particulier dans les bases de code volumineuses.

Analyse du code C++

Les vérificateurs principaux C++ permettant d’appliquer les directives principales C++ sont désormais distribués avec Visual Studio. Il suffit d’activer les vérificateurs dans la boîte de dialogue Code Analysis Extensions (Extensions d’analyse du code) des pages de propriétés du projet pour que les extensions soient incluses lorsque vous exécutez l’analyse du code.

CppCoreCheck properties page

Compilateur C++

Nous avons mis à jour le compilateur C++ et la bibliothèque standard avec prise en charge améliorée des fonctionnalités C++11 et C++14, et nous avons ajouté la prise en charge préliminaire de certaines fonctionnalités prévues pour la version C++17 standard. Avec la prise en charge des expressions constexpr généralisées et de NSDMI pour les agrégats, le compilateur est complet pour les fonctionnalités ajoutées à la norme C++14. Notez que le compilateur ne dispose pas encore de certaines fonctionnalités des normes C++11 et C++98. Visual Studio 2017 permet l’utilisation de /sdl avec /await. Nous avons supprimé la limitation de /rtc avec les coroutines.

Cette version apporte plusieurs améliorations à l’optimisation et à la génération de code. Les améliorations notables sont les suivantes :

  • Amélioration de la génération du code des boucles : prise en charge de la vectorisation automatique de la division d’entiers constants, optimisation de l’identification des modèles de memset.
  • Amélioration de la sécurité du code : amélioration de la production du diagnostic de dépassement de mémoire tampon du compilateur ; /guard:cf protège désormais les instructions switch qui génèrent des tableaux de saut.
  • L’option /debug:fastlink a été améliorée pour fournir une édition des liens sur les composants de grande taille 30 % plus rapide que dans Visual Studio 2015.
  • Lors de l’utilisation de coroutines, le mot clé expérimental « yield » (disponible sous le commutateur /await) a été supprimé. Votre code doit être mis à jour pour utiliser « co_yield » à la place. Pour plus d’informations, consultez le blog de l’équipe Visual C++.

Bibliothèques C++

  • [STL] Amélioration des performances de basic_string.
  • [STL] Ajout de <any>, <string_view>, apply(), make_from_tuple().
  • [STL] std::vector a été repensé pour l’exactitude et les performances.
  • [STL] La bibliothèque STL évite désormais de déréférencer les pointeurs fantômes Null.
  • [STL] Ajout de <optional>, <variant>, shared_ptr::weak_type et <cstdalign>.
  • [STL] Activation du constexpr C++14 dans min/max/minmax(initializer_list) et min_element/max_element/minmax_element().
  • [STL] Multiplication par trois des performances des constructeurs de déplacement std::string/std::wstring.
  • [STL] Pour obtenir la liste complète des améliorations apportées à la bibliothèque STL, consultez le blog de l’équipe Visual C++.
  • [ATL] Encore un autre ensemble de corrections de la conformité de la recherche de noms.
  • [ATL] Les constructeurs de déplacement et les opérateurs d’assignation de déplacement existants sont maintenant correctement marqués comme ne levant pas d’exceptions.
  • [ATL] Annulation de la suppression de l’avertissement valide C4640 sur l’initialisation sécurisée de thread des statiques locales dans atlstr.h.
  • [ATL] L’initialisation sécurisée de thread des statiques locales était automatiquement désactivée dans le jeu d’outils XP avec [utilisation d’ATL ET construction d’une DLL]. Cela n'est plus le cas. Vous pouvez ajouter /Zc:threadSafeInit dans les paramètres de votre projet si vous voulez que l’initialisation sécurisée de thread soit désactivée.
  • [AMP] Audit de la bibliothèque et correction des erreurs typographiques.
  • [VCRuntime] Nouvel en-tête 'cfguard.h' pour les symboles de protection de flux de contrôle.

IDE C++

Les performances des modifications de configuration sont désormais meilleures pour les projets natifs C++ et bien meilleures pour les projets C++/CLI. Quand une configuration de solution est activée pour la première fois, elle est désormais plus rapide et toutes les activations suivantes de cette configuration de solution sont presque instantanées.

Le nouveau moteur de base de données SQLite est désormais celui utilisé par défaut. Ceci permet d’accélérer les opérations de base de données, comme que « Atteindre la définition » ou « Rechercher toutes les références », et d’améliorer considérablement le temps d’analyse de la solution initiale. Le paramètre a été déplacé dans Outils > Options > Éditeur de texte > C/C++ > Avancé (il se trouvait auparavant sous (...) C/C++ > Expérimental).

Nous avons amélioré les performances d’IntelliSense dans les projets et fichiers qui n’utilisent pas d’en-têtes précompilés : un en-tête précompilé automatique est créé pour les en-têtes du fichier en cours.

Parmi les autres mises à jour :

  • Nous avons ajouté une fonctionnalité de filtrage des erreurs et une aide pour les erreurs IntelliSense figurant dans la liste d’erreurs. Le fait de cliquer sur la colonne d’erreur permet maintenant un filtrage. De plus, en cliquant sur une erreur spécifique ou sur F1, une recherche en ligne est lancée sur le message d’erreur concerné.

Error List

Error List Filtered

  • Ajout de la possibilité de filtrer les éléments de la liste des membres par type.

Member List Filtering

  • Ajout d’une nouvelle fonctionnalité IntelliSense prédictive expérimentale qui fournit un filtrage en fonction du contexte de ce qui apparaît dans la liste des membres.

  • La nouvelle interface utilisateur de Rechercher toutes les références inclut des informations indiquant si vous lisez ou si vous écrivez dans une variable dans les résultats pour le code C++.

  • La fonctionnalité IntelliSense Point par flèche a été changée de « expérimentale » en « avancée » et elle est maintenant activée par défaut. Les fonctionnalités de l’éditeur Développer les étendues et Développer la priorité ont également été changées de « expérimentales » en « avancées ».

  • Les fonctionnalités de refactorisation expérimentales Modifier la signature et Extraire la fonction sont désormais disponibles par défaut.

  • Nous avons activé la nouvelle fonctionnalité expérimentale pour le « Chargement accéléré des projets » pour les projets C++. La prochaine fois que vous ouvrirez un projet C++, celui-ci sera chargé plus rapidement, et la fois suivante encore plus rapidement.

  • Améliorations de l’expérience de la fonctionnalité Ouvrir le dossier. Modifiez, générez et déboguez votre projet C++ non-MSBuild en chargeant vos sources via « Ouvrir le dossier ». Personnalisez l’expérience via ces fichiers .json :

    • CppProperties.json pour personnaliser l’expérience IntelliSense et l’expérience de navigation.
    • Tasks.vs.json pour personnaliser les étapes de la génération.
    • Launch.vs.json pour personnaliser l’expérience du débogage.
  • IntelliSense pour C++ fonctionne sans qu’il soit nécessaire de créer un fichier CppProperties.json dans le dossier racine. En outre, nous avons ajouté une nouvelle liste déroulante pour permettre aux utilisateurs de basculer facilement entre les configurations fournies par les fichiers CMake et CppProperties.json. Prise en charge de CMake dans Ouvrir le dossier : l’ouverture de projets CMake avec « Ouvrir le dossier » configure automatiquement l’environnement pour la modification, la génération et le débogage en C++.

  • Des options de configuration supplémentaires sont prises en charge via un fichier CMakeSettings.json qui se trouve dans le même dossier que le fichier CMakeLists.txt.

CMake Open Folder

  • Prise en charge de CMake :
  • Développement de Linux avec C++ : consultez la Vidéo Linux.

Charges de travail d’installation C++

  • Développement Windows Desktop avec C++ :

    • Nous fournissons à présent une expérience d’installation plus fine pour la charge de travail C++ d’origine. Nous avons ajouté des composants sélectionnables qui vous permettent d’installer uniquement les outils dont vous avez besoin. Notez que les tailles d’installation indiquées pour les composants répertoriés dans l’interface utilisateur du programme d’installation ne sont pas exactes et sous-estiment la taille totale.

    • Pour créer correctement des projets Win32 dans la charge de travail de bureau C++, vous devez installer un ensemble d’outils et un SDK Windows. L’installation des composants recommandés (sélectionnés) « Ensemble d’outils VC++ 2017 v141 (x86,x64) » et « SDK Windows 10 (10.0.14393) » assure un bon fonctionnement. Si les outils nécessaires ne sont pas installés, les projets ne sont pas correctement créés et l’Assistant se bloque.

  • Développement Linux avec C++ :

    • L’extension populaire Visual C++ pour le développement Linux fait désormais partie de Visual Studio. Cette installation fournit tout ce dont vous avez besoin pour développer et déboguer des applications C++ exécutées dans un environnement Linux.
  • Développement de jeux avec C++ :

    • Utilisez toute la puissance de C++ pour créer des jeux professionnels reposant sur DirectX ou Cocos2d.
  • Développement d’applications mobiles avec C++ (Android et iOS) :

    • Vous pouvez désormais créer et déboguer des applications mobiles, à l’aide de Visual Studio, capables de cibler Android et iOS.
  • Développement pour la plateforme universelle Windows :

    • C++ est fourni sous la forme d’un composant facultatif pour la charge de travail Développement pour la plateforme universelle Windows. Actuellement, la mise à niveau des projets C++ doit être effectuée manuellement. Si vous ouvrez un projet UWP ciblé pour v140 dans Visual Studio 2017, vous devez sélectionner l’ensemble d’outils de plateforme v141 dans les pages des propriétés du projet si Visual Studio 2015 n’est pas installé.

Outils de plateforme Clang/C2

L’ensemble d’outils Clang/C2 fourni avec Visual Studio 2017 prend désormais en charge le commutateur /bigobj, qui est essentiel pour la création de gros projets. Il inclut également plusieurs résolutions de bogues importantes, à la fois au niveau du front-end et du back-end du compilateur.


C# et Visual Basic

Extensions de langage

Cette version introduit la prise en charge des fonctionnalités de langage C# 7.0 et Visual Basic 15, notamment :

Pour C# :

Pour Visual Basic

  • Les tuples de valeurs introduisent la prise en charge des langages pour utiliser des tuples pour regrouper temporairement un ensemble de valeurs typées : Dim point As (x As Integer, y As Integer) = GetOffset().
  • La consommation des retours ByRef étend le langage de façon à prendre en charge la consommation de fonctions et de propriétés des bibliothèques qui ont des retours ByRef.
  • Les littéraux binaires et les séparateurs de groupes de chiffres autorisent une représentation native des nombres binaires. Cette capacité est très pratique pour les masques de bits et les énumérations d’indicateurs : &B1001_0011.

Pour en savoir plus sur ces extensions et sur d’autres extensions de langage proposées, suivez notre conception de langage sur CSharpLang GitHub et VBLang GitHub.

Actions rapides et refactorisations

Visual Studio fournit un grand nombre de refactorisations pour vous aider à accroître votre productivité et à rendre votre code plus lisible. En voici quelques-unes :

  • Simplification de l’initialisation d’un objet avec un initialiseur :

Use object initializer

  • Déplacement des déclarations de variable out inline, en tirant parti d’une nouvelle fonctionnalité C#7 :

Move out variable inline

  • Simplification des vérifications des valeurs Null et des expressions Throw en utilisant un opérateur de fusion Null, en tirant parti d’une nouvelle fonctionnalité C#7 :

Use throw expression with null-coalescing operator

  • Déplacement d’un type vers le fichier correspondant : extraire un type d’un fichier et le placer dans un autre fichier avec un nom correspondant d’une simple pression sur Ctrl+..
  • Synchronisation de fichier et de nom du type : si votre fichier et le nom du type ne sont pas synchronisés, vous pouvez utiliser Ctrl+..
  • Conversion String.Format en interpolation de chaîne : tirer parti de la fonctionnalité de langage C# 6 avec cette Action rapide.
  • Ajout des cas manquants à un commutateur C# ou à une instruction Select Visual Basic.
  • Conversion d’une propriété en méthode et vice versa.
  • Ajout d’une référence de package : propose de récupérer et d’installer automatiquement un package NuGet (et d’ajouter using/Import) pour un type non reconnu. Pour activer cette fonctionnalité, accédez à Outils > Options > Éditeur de texte > [C# / Basic] > Avancé > Suggérer des usings pour les types dans les assemblys de _référence / Suggérer des usings pour les types dans les packages _NuGet.
  • Rendre synchrones les méthodes asynchrones quand cela est possible.
  • Prise en charge des correspondances « approximatives » pour les types mal orthographiés.
Configuration et application des conventions de codage

En nous basant sur la prise en charge par Visual Studio de EditorConfig, nous avons collaboré avec la communauté pour ajouter des paramètres de style de code .NET au format de fichier. Cela signifie que vous pouvez configurer les conventions de style de code de votre équipe, les archiver dans le contrôle de code source et faire en sorte que les violations s’affichent en direct dans l’éditeur à mesure que les développeurs tapent. Vous pouvez afficher toutes les options de style de code dans le fichier .editorconfig du dépôt Roslyn ou dans la documentation. Vous pouvez continuer à configurer vos paramètres de style de code propres à l’ordinateur dans Outils > Options > Éditeur de texte > [C#/Basic] > Style de code, et ces règles sont remplacées quand un EditorConfig est présent et qu’il y a un conflit.

Nous avons également ajouté/mis à jour les analyseurs de style pour vous aider à personnaliser et à appliquer les conventions de codage de votre équipe, notamment :

  • Nommage des règles de style
  • Utilisation de « var » ou des types explicites
  • Utilisation de « this » ou « Me » lors des accès membres
  • Utilisation de corps d’expression ou de blocs.
  • Utilisation de critères spéciaux pour les vérifications « cast » et « null ».
  • Utilisation de noms de tuples explicites.
  • Simplification de la vérification de valeur null avec expressions Throw, délégués conditionnels, expressions de fusion et propagation de la valeur null.
  • Obligation de la présence d’accolades.

Remarque : Plusieurs de ces règles de style de code sont configurées comme des Suggestions dans l’éditeur par défaut.

Configure code style preferences and enforcement from EditorConfig

Améliorations IntelliSense

Cette version introduit également des améliorations apportées à IntelliSense qui vous permettent d’être plus productif quand vous travaillez dans une solution de grande taille ou dans un code base dont vous n’êtes familier. Nous avons ajouté une barre d’état système à IntelliSense qui permet de filtrer la liste des membres par type (par exemple, par méthode, propriété, classe, etc.). Chaque bouton de filtre est associé à un raccourci clavier que vous pouvez afficher en plaçant le curseur sur l’icône. Pour activer cette fonctionnalité, accédez à Outils > Options > Éditeur de texte > [C# / Basic] > IntelliSense, puis vérifiez les options de filtrage et de mise en surbrillance.

IntelliSense Completion Filtering

Autres amélioration de l’éditeur

  • Vous pouvez désormais diviser une longue chaîne en plusieurs chaînes concaténées en positionnant le curseur au milieu de la chaîne et en appuyant sur Enter.
  • Nous avons effectué un travail considérable pour améliorer la réactivité de l’IDE en présence d’opérations d’arrière-plan qui calculent des diagnostics et des informations CodeLens.

F# 

Prise en charge des fonctionnalités du langage F# 4.1

  • Interopérabilité des tuples de type struct avec les tuples C# 7/VB 15.
  • Retours ByRef prenant en charge la consommation de retours ref C# 7.
  • Prise en charge des enregistrements struct avec l’attribut [<Struct>] (par Will Smith).
  • Prise en charge de l’union discriminée struct avec l’attribut [<Struct>].
  • Un nouveau type Result<'TSuccess, 'TFailure>, avec prise en charge des fonctions dans FSharp.Core (par Oskar Gewalli).
  • Le mot-clé fixed, qui prend en charge l’épinglage d’une valeur locale de type pointeur sur la pile.
  • Traits de soulignement dans les littéraux numériques (par Avi Avni).
  • Arguments d’attribut d’information de l’appelant (par Lincoln Atkinson et Avi Avni).
  • Types mutuellement référentiels et modules au sein du même fichier via namespace rec et module rec.
  • Suffixe « Module » implicite sur les modules qui partagent le même nom en tant que type.

Améliorations apportées au compilateur F#  et à FSharp.Core

(La plupart réalisées par la communauté F#)

Nouvel éditeur basé sur les espaces de travail Roslyn

(Grand nombre de nouvelles fonctionnalités d’IDE fournies par la communauté F#)

Contributions supplémentaires de la communauté F# 

Nous aimerions remercier toute la communauté F# pour avoir largement contribué aux builds des outils F# dans Visual Studio 2017, signalé des bogues, animé des discussions et implémenté des correctifs de bogues et des fonctionnalités. Le succès de F# dans Visual Studio 2017 n’aurait tout simplement pas été possible sans la communauté F#. Voici la liste complète des contributeurs.


JavaScript et TypeScript

TypeScript 2.1

TypeScript 2.1 est disponible pour tous les projets TypeScript dans Visual Studio. TypeScript 2.1 offre un modèle async/await de bas niveau, une meilleure inférence des types, l’expansion d’objet local et bien plus encore ! Pour plus d’informations sur cette version, consultez le billet de blog correspondant ou le journal des modifications complet.

Service de langage JavaScript

Un nouveau service de langage JavaScript est disponible et activé par défaut. Le nouveau service offre des fonctionnalités IntelliSense enrichies et ajoute la prise en charge d’IntelliSense pour les annotations de commentaires JSDoc et les formats de module ES6 et JS les plus courants. Il prend en charge la syntaxe JSX et des fonctionnalités de ES2016, telles que les décorateurs, les modules et les générateurs. Pour plus d’informations, consultez ce billet de blog ou la documentation JavaScript IntelliSense sur GitHub.

Rich JavaScript IntelliSense for jQuery

Amélioration des performances

L’amélioration des performances était l’un de nos principaux objectifs pour cette version. Outre plusieurs optimisations pour améliorer les caractéristiques de réactivité et la mémoire, le service de langage JavaScript/TypeScript entier a été déplacé vers un processus satellite en dehors de devenv.exe afin de soulager la mémoire pour les gros projets Visual Studio. Vous constaterez une diminution de la consommation de mémoire par le processus Visual Studio et moins d’incidents dus à une mémoire insuffisante quand vous travaillerez avec de grands projets JavaScript. Pour plus d’informations sur ces améliorations, consultez ce billet de blog.


Débogage et diagnostics

Exécuter jusqu’au clic

Cliquez simplement sur l’icône en regard d’une ligne de code lors du débogage pour lancer l’exécution jusqu’à cette ligne. Ne définissez plus de points d’arrêt temporaires et ne procédez plus en plusieurs étapes pour exécuter votre code et arrêter l’exécution sur la ligne de votre choix. Maintenant, lorsque vous êtes à l’état d’arrêt dans le débogueur, l’icône Run to Click (Exécuter jusqu’au clic) apparaît en regard de la ligne de code sur laquelle le curseur de votre souris est placé. Déplacez votre souris sur l’icône et cliquez sur le bouton. Votre code sera exécuté jusqu’à cette ligne la prochaine fois qu’il sera atteint dans votre chemin de code. Pour la désactiver, choisissez Débogage > Options > Activer Exécution jusqu’au clic.

Run to Click Icon

Filtre Attacher au processus

Effectuez facilement des recherches dans la boîte de dialogue Attacher au processus pour trouver rapidement le processus auquel vous voulez attacher le débogueur. La liste des processus en cours est filtrée en fonction des éléments correspondant à votre recherche. Le filtre de recherche est rémanent et affiche les résultats de votre recherche précédente quand vous rouvrez la boîte de dialogue.

Attach to Process Filter

Rattacher au processus

Vous pouvez désormais vous rattacher rapidement aux processus que vous déboguiez. Le déclenchement de la nouvelle commande Déboguer/Rattacher au processus (Maj+Alt+P) va immédiatement tenter d’attacher le débogueur aux derniers processus de la session de débogage précédente qui ont été appelés à partir de la boîte de dialogue Attacher au processus. Le débogueur se rattache aux processus en tentant d’abord de mettre en correspondance l’ID du processus précédent, puis le nom du processus précédent. Si aucune correspondance n’est trouvée ou s’il existe plusieurs processus avec le même nom, la boîte de dialogue « Attacher au processus » s’affiche et vous permet de sélectionner le processus souhaité.

Nouvelle assistance d’exception

La nouvelle assistance d’exception permet d’afficher les informations liées aux exceptions dans une boîte de dialogue non modale compacte avec accès immédiat aux exceptions internes. Lors du diagnostic de votre exception NullReferenceException, vous pouvez désormais trouver rapidement ce qui était Null directement dans l’assistance de l’exception. Vous pouvez désormais exclure les arrêts sur des types d’exception levées pour des modules spécifiques en cliquant sur la case à cocher pour ajouter une condition pendant l’arrêt au niveau de l’exception levée. Lisez ce billet de blog pour obtenir des informations plus détaillées sur les nouveaux avantages de l’assistance de l’exception.

The New Exception Helper dialog

Ajouter des conditions aux paramètres d’exception

Quand vous configurez le débogueur, vous pouvez ajouter des conditions pour qu’il s’arrête uniquement lorsque des exceptions sont levées dans certains modules.

Edit Conditions dialog box

Améliorations de l’accessibilité du débogueur

Vous pouvez désormais utiliser plus efficacement plusieurs fenêtres du débogueur (Pile des appels, Variables locales, Automatique, Espion et Espion express) avec des lecteurs d’écran et pour d’autres besoins d’accessibilité.

Événements IntelliTrace pour .NET Core

IntelliTrace prend désormais en charge les événements MVC, ADO.NET et HttpClient pour les applications ASP.NET Core. Ils apparaissent dans l’onglet Événements de la fenêtre Outils de diagnostic.

Mises à jour de la fenêtre Outils de diagnostic

Quand vous démarrez une session de débogage, vous voyez une nouvelle vue Résumé de votre application dans la fenêtre Outils de diagnostic. Dans cette fenêtre, vous pouvez :

Summary tab in Diagnostics Tools Window

Mises à jour du profileur de performances

Le profileur de performances peut désormais s’attacher à un processus en cours d’exécution. L’outil Utilisation de l’UC, l’outil Utilisation du GPU et l’Assistant Performances prennent désormais en charge l’attachement à un processus en cours d’exécution.

Mises à jour de l’outil Utilisation de l’UC

Plusieurs améliorations ont été apportées à l’outil Utilisation de l’UC :

  • Meilleure prise en charge du code externe : l’outil Utilisation de l’UC vous donne un meilleur aperçu des coûts des fonctions de bibliothèque et de framework quand elles sont appelées par le code utilisateur.
  • Mode Fonctions : mode qui classe les fonctions d’après leur coût UC.

Functions List

  • La vue Appelant/Appelé vous permet d’examiner les coûts des appels de fonction effectués vers et à partir d’une fonction sélectionnée.

Caller / Callee View

  • Le mode Source affiche le code source d’une fonction quand elle est sélectionnée dans l’outil Utilisation de l’UC.

Prise en charge du débogage dans Chrome

Quand vous démarrez le débogage de projets ASP.NET et que vous choisissez Google Chrome comme navigateur, Visual Studio débogue votre code JavaScript qui s’exécute dans Chrome. Si vous préférez plutôt utiliser les outils de développement dans le navigateur, vous pouvez désactiver cette fonctionnalité sous Outils > Options > Débogage.


Live Unit Testing

Live Unit Testing est une fonctionnalité de l’édition Visual Studio 2017 Enterprise qui affiche les résultats des tests unitaires et la couverture du code en direct dans l’éditeur. Elle prend en charge MSTest, xUnit et Nunit pour les projets C# et VB ciblant le .NET Framework.

Live Unit Testing

Pour plus de détails, consultez le blog Live Unit Testing.


Outils de test

Associer l’automation à des éléments de travail de cas de test à l’aide de l’Explorateur de tests

Vous pouvez maintenant associer l’automation à des éléments de travail de cas de test en sélectionnant une méthode de test dans l’Explorateur de tests. Cette nouvelle expérience vous permet d’afficher toutes les associations existantes pour la méthode de test choisie.

Il vous suffit de cliquer avec le bouton droit sur un test dans l’Explorateur de tests...

Test Explorer Associate Automation

... et de fournir un ID de cas de test pour créer une association.

Associate Automation

Dans les versions précédentes de Visual Studio, cette opération pouvait être effectuée à l’aide du formulaire d’élément de travail. Vous pouvez activer l’expérience basée sur le formulaire d’élément de travail en activant le mode de compatibilité dans Outils | Options.

Work Item Form Compatibility mode


Team Explorer

Nouvelles fonctionnalités Git

Nous avons ajouté à Visual Studio 2017 de nouvelles fonctionnalités Git qui vous permettent d’effectuer une plus grande partie de votre flux de travail sans quitter l’IDE. Vous pouvez facilement afficher la comparaison des validations sortantes, effectuer une opération push forcée pour terminer un rebasage ou pousser une validation modifiée, annuler la définition de votre branche amont, et continuer un rebasage de correctif à partir de Visual Studio. Par ailleurs, nous sommes passés à git.exe. Cela nous permet de fournir les toutes dernières fonctionnalités. Nous prenons en charge SSH, respectons vos options de configuration et affichons dans Team Explorer exactement ce que vous voyez dans la ligne de commande. Pour en savoir plus sur ces fonctionnalités, consultez ce billet de blog.

Se connecter à VSTS/TFS

Dans la page de démarrage de Visual Studio et dans Team Explorer, le processus de connexion aux projets et aux dépôts de clonage dans VSTS/TFS a été personnalisé et simplifié, ce qui accélère et simplifie la recherche des projets et des dépôts auxquels vous voulez vous connecter. Notre toute nouvelle page de connexion présente uniquement les projets et les dépôts que vous avez mappés et clonés parmi tous vos serveurs VSTS/TFS (plutôt que chaque dépôt pour chaque projet). De plus, vous n’avez plus besoin de vous connecter à un projet avant de cloner des dépôts.

Lorsque vous lancez la boîte de dialogue pour vous connecter à VSTS et à TFS, la nouvelle expérience utilisateur s’affiche. Les serveurs TFS que vous avez ajoutés s’affichent, suivis de tous les serveurs VSTS, des projets et des dépôts pour votre compte d’utilisateur sélectionné. Les résultats sont affichés dans une arborescence pour permettre une meilleure navigation. Vous pouvez vous connecter à des collections ou des projets en plus des dépôts. Pour plus d’informations, consultez Se connecter aux projets d’équipe.

Formulaires d’éléments de travail

Quand vous vous connectez à Visual Studio Team Services à partir de Visual Studio 2017 et que vous ouvrez un élément de travail, le formulaire d’élément de travail s’affiche dans votre navigateur web. Toutefois, si vous vous connectez à Team Foundation Server 2015 ou antérieur, ce sont les formulaires des éléments de travail hérités qui s’affichent.

Work Item Form in Team Explorer


Amélioration du flux de travail des commentaires sur Visual Studio

Visual Studio 2017 offre une mise à niveau de l’expérience des commentaires, permettant une meilleure collaboration et un meilleur suivi. Avec cette mise à niveau, vous remarquerez une expérience plus collaborative quand vous signalez un problème dans Visual Studio, avec un portail web complet qui offre une solution de commentaires de bout en bout. Pour tous les commentaires que vous avez fournis via la fonctionnalité Signaler un problème de l’IDE Visual Studio, vous pouvez désormais effectuer une recherche, un suivi, voter pour celui que vous préférez et obtenir les dernières mises à jour. Ces expériences améliorées répondent à de nombreux commentaires que vous nous avez envoyés et établissent une communication dans les deux sens entre nos équipes et vous.


Extensibilité de Visual Studio

Nouveau format d’extensibilité

La nouvelle technologie de programme d’installation de Visual Studio 2017 donne plus de contrôle aux utilisateurs sur les outils qui sont installés. Certains utilisateurs peuvent installer seulement l’éditeur principal de Visual Studio, alors que d’autres peuvent installer plusieurs charges de travail. Pour vérifier que les fonctionnalités et extensions requises sont installées, les créateurs d’une extension peuvent désormais spécifier les composants individuels nécessaires à celle-ci dans le manifeste.

Les utilisateurs sont avertis quand ils essayent d’installer une extension qui n’a pas été générée selon le nouveau format VSIX. L’ancien format VSIX ne spécifie pas les prérequis nécessaires et risque de ne pas fonctionner si ces prérequis ne sont pas disponibles dans Visual Studio 2017. Le nouveau format VSIX a une compatibilité descendante et peut cibler les versions antérieures de Visual Studio jusqu’à Visual Studio 2012.

Le concepteur de manifeste VSIX a été mis à jour de façon à refléter les modifications apportées au manifeste. Dans l’onglet des prérequis, les développeurs d’extensions trouveront une liste de composants installés à spécifier comme prérequis pour leur extension.

Prerequisite

Lors de l’installation de l’extension, le programme d’installation VSIX indique quels composants sont manquants et les installe en même temps que l’extension.

VSIXInstaller

Modifier des extensions en bloc

Dans la boîte de dialogue Extensions et mises à jour, vous pouvez désormais planifier l’installation, la mise à jour et la désinstallation de plusieurs extensions avant de devoir redémarrer Visual Studio. En bas à droite, vous trouverez un résumé des tâches planifiées. Pour supprimer une modification planifiée, cliquez sur le X situé à côté d’une extension dont l’installation est planifiée.

Extensions and Updates Dialog

Une fois que le programme d’installation VSIX a détecté que toutes les fenêtres de Visual Studio sont fermées, il commence à effectuer les modifications planifiées.

Batched Modification Installer

Prise en charge de NGen

Vous pouvez désormais choisir d’installer des assemblys en utilisant Ngen.

NGEN Properties

  • Ngen : indique s’il faut utiliser Ngen sur l’assembly.
  • Application Ngen : application à passer à Ngen via le commutateur /ExeConfig.
  • Architecture Ngen : architecture cible pour l’image native. Les options sont : x86, x64 et all.
  • Priorité Ngen : niveau de priorité de Ngen.

Installer des fichiers en dehors du répertoire d’extension

Vous pouvez désormais choisir d’installer des fichiers dans une liste de dossiers sélectionnés qui sont en dehors du répertoire d’extension.

VSIX Properties

  • Inclure dans VSIX : incluez le fichier dans votre projet VSIX.
  • Racine d’installation : répertoire racine où installer le fichier. Les options sont : Par défaut (installation dans le répertoire d’extension), PublicAssemblies, ReferenceAssemblies, MSBuild, Schemas, Licenses, RemoteDebugger et VSTargets.
  • Chemin cible : nom du fichier à installer sur l’ordinateur de l’utilisateur.
  • Sous-chemin VSIX : sous-chemin sous la racine d’installation où le fichier doit être installé.

Gestionnaire d’extensions itinérantes

Nouveau dans Visual Studio 2017, le Gestionnaire d’extensions itinérantes vous permet de suivre vos extensions préférées dans l’ensemble de vos environnements de développement. L’itinérance de vos extensions suit les extensions que vous avez installées en créant une liste synchronisée dans le cloud.

Quand vous vous connectez à Visual Studio, vous pouvez rapidement voir la liste de vos extensions depuis Outils > Extensions et mises à jour, en cliquant sur Gestionnaire d’extensions itinérantes. Ce dernier suit les extensions que vous avez installées et vous permet de choisir celles à ajouter à votre liste d’itinérances. Avec des nouvelles extensions ajoutées chaque jour à la galerie, cet outil permet de configurer de façon simple et rapide chaque environnement de développement avec vos extensions préférées.

The new Roaming Extension Manager in the Visual Studio IDE

Quand vous utilisez cette fonctionnalité, vous remarquez 3 types d’icônes :

  • Icône Itinérante Icône Itinérante : désigne une extension qui fait partie de votre liste d’itinérances, mais qui n’est pas installée sur cet ordinateur. Vous pouvez l’installer via le bouton « Télécharger ».
  • Icône Itinérante et installée Icône Itinérante et installée : désigne toutes les extensions qui font partie de votre liste d’itinérances et qui sont installées dans cet environnement. Si vous décidez de ne pas les rendre itinérantes, vous pouvez les supprimer via le bouton « Arrêter l’itinérance ».
  • Icône Installée Icône Installée : désigne toutes les extensions qui sont installées dans cet environnement, mais qui ne font pas partie de votre liste d’itinérances. Les extensions peuvent être ajoutées à la liste d’itinérances via le bouton « Démarrer l’itinérance ».

Ces icônes vous montrent l’état actuel de votre liste. Vous pouvez avoir n’importe quelle extension dans n’importe quel état, alors personnalisez-les comme bon vous semble ! Ou laissez-nous faire ! Toute extension téléchargée quand vous êtes connecté est ajoutée à votre liste comme « Itinérante et installée » et fera donc partie de votre liste d’itinérances, ce qui vous permettra d’y accéder à partir de n’importe quel ordinateur !

Découverte des modèles de projet et d’élément

Dans Visual Studio 2017, nous avons introduit un changement important dans la façon dont Visual Studio consomme les modèles de projet et d’élément pour améliorer les performances de la découverte des modèles. Le nouveau mécanisme de découverte exige maintenant que tous les modèles de projet et d’élément suivent le schéma « vstemplate » pour être définis dans des fichiers manifeste de modèle. Les modèles Visual Studio que vous ne définissez pas dans un fichier manifeste de modèle ne sont plus visibles dans les boîtes de dialogue Nouveau projet ou Nouvel élément. Alors que les nouveaux outils d’extensibilité génèrent un manifeste au moment de la génération VSIX, si vos modèles Visual Studio sont mis en production dans le cadre d’un package MSI, vous devez générer manuellement les fichiers manifeste de modèle pour ces modèles. Pour plus d’informations, consultez la page MSDN Mise à niveau des modèles de projet et d’élément personnalisés pour Visual Studio 2017.


.NET Core et ASP.NET Core

Contient la version finale 1.0 des nouveaux outils .NET Core basés sur MSBuild. Avec Visual Studio 2017, vous pouvez créer des bibliothèques standard .NET, des applications/bibliothèques .NET Core et des projets web ASP.NET qui utilisent le nouveau format csproj.

L’outil NET Core est automatiquement inclus dans la charge de travail « ASP.NET et développement web » et en tant que composant facultatif dans la charge de travail « Développement bureautique .NET » dans le programme d’installation. Si vous souhaitez seulement développer des applications .NET Core pour une utilisation multiplateforme, vous pouvez installer uniquement les outils .NET Core et ASP.NET Core à l’aide de la charge de travail « Développement multiplateforme .NET Core » à partir de la section « Autres ensembles d’outils » du programme d’installation.

Les fonctionnalités principales de cette version sont les suivantes :

  • Prise en charge de MSBuild pour les projets .NET Core, avec un format de projet csproj simplifié qui facilite les modifications manuelles sans qu’il soit nécessaire de décharger le projet.
  • Pour modifier un fichier .csproj .NET Core, il suffit de cliquer avec le bouton droit sur le projet dans l’Explorateur de solutions et de choisir « Modifier ».
  • Prise en charge des caractères génériques de fichier dans le fichier projet. Il est inutile d’énumérer tous les noms de fichiers de code source, ce qui permet au fichier csproj de conserver une taille compacte.
  • Les références de package NuGet font désormais partie du fichier csproj, regroupant toutes les références de projet dans un seul fichier.
  • Interopérabilité entre les projets .NET Core, .NET Standard et .NET Framework. Par exemple, un projet .NET Core peut ajouter une référence de projet à projet à un projet .NET Standard.
  • Plusieurs frameworks cibles multicibles dans un même projet.
  • Les projets .NET Core project.json existants sont migrés automatiquement vers csproj quand ils sont ouverts dans Visual Studio. Vous pouvez aussi les migrer manuellement à l’aide de l’Interface de ligne de commande (CLI) .NET. (https://go.microsoft.com/fwlink/?linkid=842521)
  • Configurez facilement l’intégration continue de builds pour votre application ASP.NET Core avec la prise en charge de Docker et de la livraison continue de builds à vos services de conteneur Azure à partir de l’IDE Visual Studio.

Pour plus d’informations, consultez le blog .NET.


Outils pour le développement d’applications Windows universelles

Chaîne d’outils .NET Native mise à jour

Cette chaîne d’outils native .NET a fait l’objet de plusieurs optimisations permettant d’améliorer les performances d’exécution des applications UWP managées dans Visual Studio. Cette version comprend plus de 600 correctifs de bogues et fonctionnalités qui répondent aux commentaires des utilisateurs et améliorent la qualité globale de la chaîne d’outils.

Package Microsoft.NETCore.UniversalWindowsPlatform 5.3.0

Cette mise à jour des bibliothèques de framework NuGet de .NET Core résout plusieurs problèmes importants signalés par des clients. Les projets UWP existants peuvent utiliser le Gestionnaire de références NuGet pour être mis à jour vers cette nouvelle version. De plus, le nouveau package .NET Core inclut la chaîne d’outils .NET Native.

SDK et émulateur de la mise à jour anniversaire Windows 10

Le SDK Windows et l’émulateur Windows Phone pour la mise à jour anniversaire Windows 10 sont inclus dans cette version.

  • Les éléments d’interface utilisateur créés à partir de la boîte à outils sont désormais créés avec moins de balises XAML, ce qui permet d’obtenir du code XAML plus lisible et plus propre.
  • Un nouvel outil d’options sur le concepteur XAML permet au développeur de sélectionner le thème de l’interface utilisateur et les paramètres Contraste élevé pour la prévisualisation sur l’aire de conception.
  • Les éditeurs de valeur dans la fenêtre Propriétés acceptent désormais les équations mathématiques simples, comme « 60 + 20 ». Les équations sont immédiatement évaluées (dans ce cas, 80) et la valeur obtenue est insérée dans le code XAML.

Fonctionnalité du Concepteur de manifeste permettant de créer des actifs visuels

Le Concepteur de manifeste a été actualisé et intègre désormais la capacité de générer des actifs visuels pour vos applications UWP. Vous pouvez maintenant utiliser une image source unique pour créer des vignettes, des logos, des icônes et des écrans de démarrage à toutes les échelles souhaitées en fonction du type d’appareil ciblé par votre application.

Manifest Visual Asset Generator

Analyse de l’interface utilisateur

Les outils de la plateforme Windows universelle peuvent désormais détecter les problèmes courants d’accessibilité et de performances. Lorsque vous activez l’outil « Analyse de l’IU » dans le menu Sélectionner les outils de la fenêtre Outils de diagnostic, ces problèmes sont signalés et accompagnés de liens vers des articles utiles expliquant comment et pourquoi ils doivent être résolus. Le développement avec l’outil Analyse de l’IU activé accorde la priorité aux performances et à l’accès à l’interface utilisateur lors du développement d’applications.


Xamarin

Xamarin 4.4 est inclus dans Visual Studio 2017. Pour plus d’informations, consultez les Notes de publication de Xamarin.

Cette version de Xamarin pour Visual Studio 4.4 met à jour les versions Xamarin.iOS 10.8 et Xamarin.Android 7.2.

Correctifs de bogues

Cette version inclut les corrections suivantes :

  • Échec de création d’applications d’extension iOS avec l’erreur « Impossible de lire les données de vos droits ».(4.4.0.31)
  • Symboles inclus pour les rapports Watson.(4.4.0.6)
  • Échec du déploiement Android si la solution contient aussi un projet Wix.(4.3.1.39)
  • Blocage de l’ouverture de certains projets iOS.(4.3.1.39)
  • Les points d’arrêt n’atteignent pas les références PCL de second niveau.(4.3.1.39)
  • Résolution d’un problème iOS dû à une tâche CodeSignNativeLibraries manquante.(4.3.1.39)
  • Erreur d’ouverture du storyboard après la connexion au serveur Mac.(4.3.1.39)
  • Le projet de bibliothèque de classes Android doit inclure uniquement « Compiler à l’aide de la version d’Android » dans la page de propriétés.(4.3.1.39)
  • Visual Studio se bloque lors de l’accès à l’onglet « Outils-> Options-> Xamarin-> Autre ».(4.3.1.39)
  • Visual Studio se bloque lors du chargement d’une solution multiplateforme dans certains environnements.(4.3.1.1)
  • Microsoft.Csharp n’est pas référencé dans les modèles de projet Visual Studio.(4.3.1.1)
  • Impossible de se connecter au serveur Mac si le shell d’utilisateur configuré n’utilise pas la syntaxe bash.(4.3.1.1)
  • L’option Envoyer dans Test Cloud est manquante (corrigé sur VS2013 et VS2015).(4.3.1.1)
  • Le débogueur s’embrouille quand le nom de variable/propriété est le même que le nom de classe de quelque chose d’autre.(4.3.1.1)
  • Impossible de renommer l’ensemble d’images à partir du catalogue de ressources.(4.3.1.1)
  • Le dossier « Ressources » est masqué de force dans les projets d’extension Watch.(4.3.1.1)
  • Le dossier « Assets.xcasset » dans « Ressources » n’est pas masqué pour les projets tvOS.(4.3.1.1)

Visual Studio Tools pour Apache Cordova

Visual Studio 2017 inclut les améliorations suivantes :

  • Cordova Simulate : un nouveau simulateur basé sur le navigateur vous permet de coder rapidement et de voir immédiatement les résultats dans le navigateur. Le rechargement en direct, la simulation de plug-in et la prise en charge du framework Ionic permettent à Visual Studio d’avoir le flux de travail de développement le plus rapide du marché.

Cordova simulate

  • Prise en charge d’iOS 10 et XCode 8 : une mise à jour de l’agent serveur remotebuild pour le développement iOS inclut la prise en charge de XCode 8.

  • Coloration des erreurs : dans la mesure où le diagnostic des échecs de génération nécessite souvent que les développeurs lisent la sortie de la génération, nous avons commencé à colorer les erreurs dans le volet de sortie de la génération pour faciliter la lecture. De plus, nous avons ajouté des en-têtes pour délimiter les étapes du processus de génération pour aider les développeurs à identifier où s’est produit l’échec dans le processus de génération.

Pretty printing

  • Acquisition dans le produit : en plus de l’installation allégée pour accélérer la création d’applications Cordova, nous avons ajouté des méthodes au sein même de Visual Studio pour acquérir des éléments de génération supplémentaires au fur et à mesure du développement. Si vous n’avez pas installé les composants Android ou Windows, vous pouvez les obtenir par le biais de la barre de déploiement, qui lance le programme d’installation de Visual Studio et vous guide tout au long du processus d’installation.

In-product acquisition

  • Rapidité et fiabilité des builds : le nouveau programme d’installation de Visual Studio, combiné avec l’installation hors connexion d’une chaîne d’outils entièrement validés de composants tiers, permet des générations plus rapides, dont les problèmes sont plus faciles à identifier et à résoudre.
Important

Les outils de génération et les émulateurs pour Android et Windows sont maintenant facultatifs. Vous pouvez les obtenir dynamiquement via la barre de menus de génération/déploiement. Cette version de Visual Studio ne prend pas en charge les projets Windows Store 8.1. Nous vous recommandons de mettre à jour vos projets Cordova pour qu’ils ciblent Windows 10. La version de Cordova minimale prise en charge passe à 6.0.0. Les projets ciblant une version de Cordova antérieure à 6.0.0 doivent être mis à niveau dans config.xml pour pouvoir être générés et déployés dans Visual Studio 2017.


Node.js Tools pour Visual Studio

Avec Node.js Tools pour Visual Studio, Visual Studio devient un puissant environnement de développement Node.js. Cette version met l’accent sur la stabilité, les performances et la qualité globale du produit, notamment :

  • Une meilleure intégration avec le nouveau service du langage JavaScript Salsa.
  • Utilisation de la mémoire et de l’UC réduite, et temps de chargement des projets plus court.
  • Prise en charge des fichiers de modèle Pug.
  • Modèles de projet plus à jour.
  • Prise en charge du framework de test Mocha 3.x.
  • Nombreux correctifs de bogues.

Merci à tous les contributeurs qui ont rendu possible cette version de Node.js Tools pour Visual Studio. Pour plus d’informations, consultez le projet open source Node.js Tools sur GitHub.


Visual Studio Tools pour Unity

Utilisez Visual Studio pour écrire et déboguer des jeux Unity pour toutes les plateformes. Visual Studio Tools pour Unity 3 peut maintenant être installé avec la charge de travail « Développement de jeu avec Unity » dans le nouveau programme d’installation de Visual Studio 2017. Visual Studio Tools pour Unity 3 se concentre sur l’amélioration de l’expérience de l’édition et du débogage du code pour les développeurs Unity, ainsi que sur la qualité globale du produit, notamment :

  • Prise en charge d’IntelliSense pour les messages Unity.
  • Coloration du code des messages Unity.
  • Évaluation améliorée des expressions dans le débogueur Unity.
  • Assistants de message Unity améliorés pour prendre en charge tous les types Unity pouvant recevoir des messages.
  • Nombreux correctifs de bogues et nombreuses optimisations.

Code completion session for Unity messages


Redgate

Redgate Data Tools fourni avec Visual Studio

Pour étendre les fonctionnalités de Visual Studio 2017 DevOps au développement de bases de données SQL Server, Redgate Data Tools, qui comprend Redgate SQL Prompt Core, Redgate SQL Search et Redgate ReadyRoll Core, est maintenant disponible dans la charge de travail Stockage et traitement des données.

  • Redgate ReadyRoll Core, fourni dans Visual Studio Enterprise 2017, vous permet de développer des scripts de migration, de gérer les modifications de base de données à l’aide du contrôle de code source, et d’automatiser en toute sécurité des déploiements de SQL Server en même temps que les modifications des applications.
  • Redgate SQL Prompt Core, fourni dans Visual Studio Enterprise 2017, vous permet d’écrire du code SQL avec une plus grande rapidité et une plus grand précision grâce à la saisie semi-automatique du code. SQL Prompt complète automatiquement les objets et les mots clés de la base de données et du système, et propose des suggestions de colonne au fil de votre frappe. Ceci aboutit à un code plus propre et à moins d’erreurs, car vous n’avez pas besoin de vous rappeler de chaque nom de colonne ou de chaque alias.
  • Redgate SQL Search, fourni avec toutes les éditions de Visual Studio 2017, augmente votre productivité en vous aidant à trouver rapidement des objets et des fragments SQL parmi plusieurs bases de données.

NuGet

Visual Studio 2017 inclut NuGet 4.0. Cette version est centrée sur la prise en charge des références de package pour la majorité des types de projets, ainsi que sur l’amélioration de la qualité et des performances :

  • Dans les projets WPF, Windows Forms et UWP, les packages peuvent désormais être gérés à l’aide de références de package.
  • La prise en charge de la restauration NuGet a été améliorée pour la restauration de solution allégée. Désormais, les restaurations peuvent être effectuées sans avoir à charger de projet.
  • Dans les projets .NET Core et ASP.NET Core, les packages sont désormais gérés à l’aide de références de package.
  • Dans Visual Studio 2017 et versions ultérieures, le fichier NuGet.config pour l’ordinateur se trouve maintenant dans %PROGRAMFILES(X86)%\NuGet\Config\NuGet.config. À l’avenir, nuget.exe v4.0.0 + prendra également en compte le nouvel emplacement pour la configuration à l’échelle de l’ordinateur. NuGet.config ne sera plus implicitement référencé ou pris en compte dans les données du programme pour la fusion hiérarchique de nuget.config.

Outils pour les applications XAML

Modifier & Continuer pour le code XAML

Visual Studio permet désormais de modifier le code XAML pendant l’exécution de votre application Windows universelle ou WPF. Lors du débogage de votre application dans Visual Studio, vous pouvez apporter des modifications au balisage dans l’éditeur de code XAML. Les modifications apparaissent ensuite dans l’application en cours d’exécution sans que vous ayez à la recompiler.

Améliorations de la productivité de l’éditeur XAML

  • Filtrage IntelliSense : quand vous écrivez du code XAML, la liste de saisie semi-automatique affiche uniquement les types correspondants et la correspondance la plus proche est sélectionnée.
  • IntelliSense pour x:Bind : nous avons activé la saisie semi-automatique IntelliSense pour x:Bind lors de la liaison à Chemin et Événements.
  • Saisie semi-automatique d’espace de noms : si la référence à l’espace de noms n’existe pas, vous ne bénéficiez pas de la prise en charge d’IntelliSense pendant la saisie. Quand vous avez fini de taper, vous bénéficiez de la prise en charge de suggestion par ampoule pour générer et insérer le préfixe pour le type et pour ajouter la définition d’espace de noms dans votre document XAML.
    ![IntelliSense_without namespace](media/intelliSense_without namespace.PNG "IntelliSense_without namespace")

* Pour les types qui nécessitent un préfixe, IntelliSense permet la saisie semi-automatique du préfixe si la référence à l’espace de noms existe déjà.
  • Refactorisation du changement de nom du préfixe de l’espace de noms : vous pouvez appeler l’action Renommer dans le menu contextuel ou en utilisant le raccourci clavier Ctrl+R+R quand le curseur se trouve sur le préfixe. Vous pouvez aussi prévisualiser les modifications avant de les appliquer.

    renommer le préfixe de l’espace de noms

  • Supprimer et trier les espaces de noms : maintenant, vous pouvez supprimer les espaces de noms inutiles et les trier à partir du menu contextuel ou en utilisant le raccourci clavier Ctrl+R+G. Si votre document XAML a des espaces de noms non nécessaires, vous voyez aussi une icône d’ampoule qui vous permet de les supprimer.

    espace de noms inutile lightbulb_remove

  • Prise en charge de .editorconfig pour l’éditeur XAML : vous pouvez définir des paramètres pour indent_style, indent_size et tab_width dans le fichier .editorconfig, qui sont utilisés à la place des paramètres définis dans Outils > Options.

  • Visualiseur de structure pour l’éditeur XAML : le visualiseur de structure (des repères d’indentation) est désormais intégré dans Visual Studio et aucune extension distincte n’est nécessaire. Cette fonctionnalité fournit en un clin d’œil, sans défilement, le contexte du bloc de code que vous utilisez.

    Visualiseur de structure pour l’éditeur XAML

Amélioration des performances de XAML

  • Amélioration des performances de commutation d’onglet XAML : les performances de commutation d’onglet XAML ont été améliorées considérablement. Dans les exemples de projets clients, nous avons observé une réduction de plus de 90 % du temps de commutation.
  • Résolution des délais de saisie dans l’éditeur XAML : la saisie dans l’éditeur XAML n’a jamais été aussi rapide. Nous avons effectué plusieurs investissements pour réduire les délais de frappe dans l’éditeur XAML, et la plupart des développeurs devraient trouver l’éditeur XAML et XAML IntelliSense bien plus réactifs. Cela sera surtout visible lors de l’édition d’un fichier XAML dans des projets qui utilisent des contrôles tiers ou de grandes bibliothèques de contrôles.

Data Tools et SQL Server

SQL Server Data Tools

La dernière mise à jour de SQL Server Data Tools est incluse dans Visual Studio 2017, ce qui permet la prise en charge des fonctionnalités les plus récentes d’Azure SQL Database et de SQL Server 2016.

Cette version permet de développer, tester et déployer facilement une base de données sur toutes les versions prises en charge de SQL Server et des plateformes de base de données (locales et cloud) à l’aide de Visual Studio. Cette version inclut également des améliorations de la surface de programmation des bases de données. L’expérience de connexion SQL dans SQL Server Data Tools détecte désormais automatiquement les bases de données SQL Server et SQL Azure auxquelles vous pouvez vous connecter d’un simple clic.

En outre, Visual Studio 2017 prend en charge les nouveaux types d’authentification d’Azure SQL Database, ainsi que l’authentification par mot de passe et l’authentification intégrée Azure Active Directory.


Developer Analytics Tools

Visual Studio 2017 inclut Developer Analytics Tools v8.6, avec les améliorations suivantes :

  • CodeLens affiche maintenant les données de débogage et de télémétrie en direct dans les projets qui envoient des données à une ressource Application Insights.
  • CodeLens pour les exceptions contient des liens vers Application Analytics pour montrer l’impact d’une exception sur les utilisateurs.
  • CodeLens affiche les requêtes des sessions de débogage locales dans les projets avec le SDK Application Insights.
  • CodeLens pour les requêtes et les exceptions est maintenant disponible dans les projets Visual Basic.
  • Les métriques en temps réel sont maintenant affichées dans une notification toast après que vous avez publié votre application à partir de Visual Studio.
  • Les tarifs d’Application Insights sont à présent affichés dans la fenêtre Configuration.
  • Les événements de disponibilité sont maintenant affichés dans les outils Recherche et Tendances.
  • Les événements dans les outils Recherche et Diagnostic affichent maintenant le nombre de fois où ils se sont produits en fonction d’un échantillonnage adaptatif dans le SDK.
  • CodeLens affiche les exceptions qui se sont produites au cours de sessions de débogage locales pour les projets avec le SDK Application Insights.
  • Nouvelle conception de la fenêtre Configuration d’Application Insights.
  • CodeLens pour les exceptions dispose maintenant d’un lien vers l’analyse des applications pour afficher l’impact d’une exception sur les utilisateurs.
  • Le SDK JavaScript Application Insights pour la collecte de la télémétrie des consultations de page est désormais ajouté quand Application Insights est ajouté à un projet.
  • Les annotations de publication sont maintenant envoyées à votre ressource Application Insights quand vous publiez votre application à partir de Visual Studio.
  • Les marqueurs de barre de défilement sont maintenant affichés pour les indicateurs CodeLens Application Insights rouges et jaunes.

Pour en savoir plus sur Application Insights, consultez la documentation sur Microsoft Azure.


Outils de développement Office pour Visual Studio

Cette version inclut les dernières fonctionnalités et mises à jour des outils de développement Office :

  • Nouveaux modèles de complément Office propres à Excel, Word, PowerPoint et Outlook.
  • Prise en charge des nouvelles fonctionnalités de complément Office telles que les commandes de complément, l’interface utilisateur de la structure et une nouvelle version d’Office.js.
  • Nouveau code de démarrage dans les modèles qui montrent comment se familiariser avec les nouvelles fonctionnalités de complément Office.
  • Prise en charge de SharePoint 2016 dans les solutions SharePoint et les modèles de complément.

Validation des dépendances de l’architecture en direct

Si vous avez configuré des diagrammes de validation de dépendance (également appelés diagrammes de couche) dans Visual Studio Enterprise, vous recevez désormais des notifications en temps réel des violations des règles de dépendance de l’architecture quand vous tapez du code dans l’éditeur de code. Les erreurs apparaissent dans la liste des erreurs et des tildes dans l’éditeur de texte indiquent l’emplacement précis de cette violation. Vous êtes maintenant moins susceptible d’introduire des dépendances indésirables.

Live Architecture Dependency validation


Invite de commandes développeur

Les scripts de l’invite de commandes développeur de Visual Studio 2017 ont été refactorisés pour prendre en charge la nouvelle expérience d’installation :

  • Les variables d’environnement reflètent uniquement les charges de travail installées.
  • Le raccourci d’invite de commandes développeur Visual Studio doit être compatible avec les versions précédentes.
  • Vous pouvez maintenant configurer des scripts d’invite de commandes développeur par le biais d’arguments de ligne de commande :
    • Dans une invite de commandes, appelez common7\tools\vsdevcmd.bat -help (à partir du répertoire d’installation de Visual Studio) pour plus d’informations.

Azure SDK pour .NET

Le kit SDK Azure pour .NET de Visual Studio est disponible. Il peut être installé avec le nouveau programme d’installation de Visual Studio. Si vous avez déjà installé le kit SDK Azure pour .NET à l’aide de Web Platform Installer, vous pouvez maintenant obtenir les mêmes composants en installant la charge de travail Azure à l’aide du nouveau programme d’installation de Visual Studio. Les packages installés sont au même niveau de fonctionnalité que la version 2.9.5 du kit SDK. Pour cette version de Visual Studio et toutes les versions futures, le kit SDK Azure pour .NET est seulement disponible à partir du programme d’installation de Visual Studio.


Problèmes connus

Voici les problèmes connus et les solutions de contournement disponibles pour cette version.


Problèmes d’installation

L’installation du SDK Windows 10 échoue avec le code de retour -2147023293

  • Problème :

    Dans certaines circonstances, l’installation du SDK Windows 10 peut échouer avec le code de retour -2147023293. Le journal d’installation dd_setup__errors.log affichera une erreur similaire à celle-ci : L’installation du package 'Win10SDK_10.0.14393.795,version=10.0.14393.79501' a échoué. (détails) Code de retour : -2147023293 Détails du code de retour : Erreur irrécupérable durant l’installation. Notez que le nom exact du package dépend du SDK Windows 10 que vous avez choisi d’installer.

  • Solution de contournement :

    Il peut y avoir plusieurs causes à ce problème. Pour contourner ce problème, essayez les étapes suivantes :

    • Installez le SDK Windows 10 séparément de Visual Studio. Vous pouvez télécharger le SDK Windows 10 à partir du Centre de développement Windows.
    • Dans certains cas, lors de l’installation sur une version de Windows antérieure à Windows 10, l’échec d’installation peut être dû à un Runtime C universel manquant. Vous pouvez l’installer à l’aide du correctif KB2999226 pour le runtime 1507 Windows 10, ou du correctif KB3118401 pour le runtime 1511 Windows 10.
      Pour plus d’informations, consultez le portail de la communauté des développeurs Visual Studio.

Impossible de démarrer Cloud Explorer

  • Problème :

    Si Cloud Explorer est installé avec la charge de travail de développement web, le démarrage de Cloud Explorer peut échouer avec le message d’erreur « Le programme d’installation ne peut pas continuer si Visual Studio est en cours d’exécution. Fermez Visual Studio et réessayez ». Ce problème est dû à des dépendances manquantes.

  • Solution de contournement :

    Installez la charge de travail de développement Azure, puis redémarrez Cloud Explorer.

La désinstallation du SDK Windows 10 Visual Studio entraîne des erreurs de build UWP dans Visual Studio 2017 ou Visual Studio 2015

  • Problème :

    Si vous désinstallez le SDK Windows 10, vous recevez l’erreur suivante quand vous créez une application UWP :
    Cannot resolve 'GenXbf.dll' under path 'C:\Program Files\Windows Kits\10'. Please install the Windows Software Development Kit. The Windows 10 SDK is installed with Visual Studio.
    Ce problème concerne Visual Studio 2017, Visual Studio 2017 Preview et Visual Studio 2015. Votre ordinateur peut passer à cet état d’erreur si vous avez installé :

    • Visual Studio 2017 et Visual Studio 2017 Preview, puis désinstallé l’un d’eux.
    • Visual Studio 2015 et Visual Studio 2017 ou Visual Studio 2017 Preview, puis désinstallé l’un d’eux.
    • Visual Studio 2017, Visual Studio 2017 Preview ou Visual Studio 2015, puis désinstallé un SDK Windows 10 directement à partir de Programmes et fonctionnalités ou en utilisant le programme d’installation de Visual Studio.
  • Solution de contournement :

    Ouvrez le Panneau de configuration et accédez à Programmes et fonctionnalités. Sélectionnez l'une des options suivantes et cliquez sur Réparer :

    • Kit de développement logiciel Windows - Windows 10.0.15063.00 (Creators Update).
    • Kit de développement logiciel Windows - Windows 10.0.14393.795 (Mise à jour anniversaire).

L’utilisation d’un dossier d’installation hors connexion quand vous êtes déconnecté d’Internet ne permet pas d’installer l’émulateur Windows

  • Problème :

    Quand vous utilisez un dossier d’installation hors connexion qui inclut l’émulateur Windows 10 Mobile (Creators Update) pour installer Visual Studio sans connexion internet, le programme d’installation de Visual Studio se termine avec le message « Le programme d’installation s’est terminé avec un avertissement » et l’émulateur Windows ne parvient pas à s’installer.

  • Solution de contournement :

    Installez l’émulateur Windows 10 Mobile à part de Visual Studio.

    1. Ouvrez votre dossier d’installation hors connexion pour Visual Studio et accédez au dossier « Win10_Emulator_10.0.15063,version=10.0.15063.12,chip=x64 ».
    2. Exécutez EmulatorSetup.exe pour installer l’émulateur Windows.
Si vous n’avez pas déjà installé Visual Studio, vous pouvez commencer par installer l’émulateur Windows.
1. Installez l’émulateur Windows en suivant les instructions ci-dessus.
2. Exécutez le programme d’installation de Visual Studio pour installer Visual Studio et le programme d’installation ne signalera pas l’avertissement.

Problèmes d’éditeur et d’IDE

EditorConfig n’est pas pris en charge dans les fichiers XML

  • Problème :

    Les conventions de style de codage définies dans .editorconfig ne sont pas appliquées lors de la modification des fichiers XML.

  • Solution de contournement :

    Il n’existe aucune solution de contournement pour l’instant.

Les propriétés insert_final_newline et trim_trailing_whitespace EditorConfig ne sont pas prises en charge

  • Problème :

    Les propriétés insert_final_newline et trim_trailing_whitespace définies dans le fichier .editorconfig n’ont aucun effet.

  • Solution de contournement :

    Il n’existe aucune solution de contournement pour l’instant.

JavaScript IntelliSense cesse de fonctionner

  • Problème :

    L’ouverture d’un projet avec plus de 25 Mo de code JavaScript provoque l’erreur « Le service de langage est désactivé pour le projet , car il comprend un grand nombre de fichier .js. Excluez les fichiers nécessaires via la section 'exclude' d’un fichier 'tsconfig.json'.

  • Solution de contournement :

    Ajoutez un tsconfig.json à la racine du projet avec le code suivant :

      {
          "compilerOptions": {
              "allowJs": true,            // These settings apply to .js files as well as .ts files
              "noEmit":  true             // Do not compile the JS (or TS) files in this project on build
          },
          "exclude": [
              "node_modules",             // Don't include any JavaScript found under "node_modules" or "bower_components"
              "bower_components"
          ]
      }
    

    Add additional folders with JavaScript code libraries. Another common one is Scripts/Office/1 if you're using office-js.

TypeScript non reconnu dans les projets ASP.NET Core

  • Problème :

    Les fichiers TypeScript dans les projets ASP.NET Core n’ont aucune information IntelliSense et ne sont pas compilés lors de la génération.

  • Solution de contournement :

    Ajoutez un fichier tsconfig.json vide à la racine du projet.

Problèmes de NuGet

Lors de l’utilisation de la Console du Gestionnaire de Package, la touche « Entrée » peut ne pas fonctionner

  • Problème :

    Parfois, la touche Entrée ne fonctionne pas dans la Console du Gestionnaire de Package. Si cela se produit, vérifiez l’évolution du correctif et spécifiez les éventuelles informations supplémentaires utiles dans les étapes de reproduction du problème (NuGet#4204 et NuGet#4570).

  • Solution de contournement :

    Redémarrez Visual Studio et ouvrez la console de gestion des packages avant d’ouvrir la solution. Vous pouvez aussi tenter de supprimer le project.lock.json et de réeffectuer la restauration.

Dans les projets .NET Core, vous pouvez vous retrouver avec une boucle de restauration infinie quand vous utilisez un package qui contient un assembly avec une signature non valide

  • Problème :

    Parfois, quand vous utilisez un package qui contient un assembly avec une signature non valide ou quand la version du package est définie avec le symbole 'DateTime', la restauration automatique du package s’exécute dans une boucle infinie (dotnet/project-system#1457).

  • Solution de contournement :

    Il n’existe aucune solution de contournement pour l’instant.

Impossible d’afficher, d’ajouter ou de mettre à jour DotNetCLITools à l’aide du Gestionnaire de package Nuget

  • Problème :

    Le Gestionnaire de package NuGet ne s’affiche pas et n’autorise pas l’ajout/mise à jour de DotNetCLITools (NuGet#4256).

  • Solution de contournement :

    Vous devez modifier manuellement DotNetCLIToolReferences dans votre fichier projet.

Le reciblage de la version du framework cible peut générer des informations Intellisense incomplètes

  • Problème :

    Le reciblage de la version du framework cible peut générer des informations Intellisense incomplètes dans Visual Studio. Cela se produit quand vous utilisez PackageReferences comme format de gestionnaire de package (NuGet#4216).

  • Solution de contournement :

    Effectuez une restauration manuelle.

Problèmes de Live Unit Testing

Live Unit Testing ne fonctionne pas avec les projets .NET Core

  • Problème :

    Live Unit Testing n’est pas pris en charge dans les projets .NET Core.

  • Solution de contournement :

    Il n’existe aucune solution de contournement pour l’instant.

Problèmes connus liés aux outils web

Les projets MVC4 ne se connectent pas à la base de données LocalDB SQL Server au moment de l’exécution

  • Problème :

    Quand vous exécutez un projet MVC4 dans Visual Studio, l’accès à la base de données par l’application peut échouer si elle utilise SQL Server Express LocalDB 2012. Cela est dû au fait que les projets MVC4 dépendent par défaut de SQL Server Express LocalDB 2012, qui n’est pas installé avec Visual Studio 2017.

  • Solution de contournement :

    Mettez à niveau le projet pour qu’il utilise SQL Server Express LocalDB 2016, ou téléchargez et installez SQL Server Express LocalDB 2012 manuellement sur l’ordinateur.

Problèmes des outils .NET Core

Pour obtenir la liste actuelle des problèmes liés aux outils .NET Core et ASP.NET Core, consultez notre page GitHub.

Problèmes liés à Ouvrir le dossier

IntelliSense non disponible lors de la modification de launch.vs.json ou de tasks.vs.json

  • Problème :

    Quand vous modifiez un fichier launch.vs.json ou tasks.vs.json, IntelliSense n’est pas disponible.

  • Solution de contournement :

    Installez la charge de travail « Développement web et ASP.NET ».

La refactorisation C# peut produire des résultats incohérents

  • Problème :

    La refactorisation de code C# ou VB peut produire des résultats incohérents en mode dossier.

  • Solution de contournement :

    Chargez les projets C# ou VB en mode Solution.

F10 ne démarre pas le débogueur en mode dossier

  • Problème :

    La touche de raccourci F10 ne démarre pas le débogueur en mode dossier.

  • Solution de contournement :

    Utilisez F5 ou F11, et définissez un point d’arrêt au niveau du point d’entrée de l’application.

Les modifications non enregistrées apportées à launch.vs.json peuvent être perdues

  • Problème :

    Les modifications non enregistrées apportées à launch.vs.json sont perdues quand vous sélectionnez « Paramètres de débogage et de lancement » dans le menu contextuel.

  • Solution de contournement :

    Enregistrez les modifications apportées à ce fichier avant de sélectionner « Paramètres de débogage et de lancement » dans le menu contextuel.

Le rechargement d’un projet qui a été modifié en mode dossier peut échouer et provoquer l’affichage d’une boîte de dialogue

  • Problème :

    Si vous avez modifié un fichier projet à partir du mode dossier, son rechargement ultérieur à partir du mode Solution peut échouer.

  • Solution de contournement :

    Essayez de recharger le projet. Si le chargement échoue encore, rechargez la solution.

Problèmes liés aux outils de test

Échec de la découverte des projets UWP avec un attribut UITestMethod créé dans Visual Studio VS2017

  • Problème :

    La découverte des projets UWP avec des méthodes de test comprenant l’attribut UITestMethod, créé dans Visual Studio VS2017, échoue.

  • Solution de contournement :

    Mettez à niveau le package NuGet MSTest.TestAdapter vers la dernière version (1.1.12+).

Échec de l’exécution de tests comprenant un attribut DeploymentItem à partir de Visual Studio

  • Problème :

    L’exécution de projets de test créés dans Visual Studio échoue si des tests comprennent un attribut DeploymentItem, et l’exception FileNotFound est levée.

  • Solution de contournement :

    Ajoutez également l’attribut DeploymentItem suivant sur la méthode de test/classe de test conteneur : [DeploymentItem("Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll")]. Cela problème sera résolu dans une prochaine version de MSTest.TestFramework et de MSTest.TestAdapter.

Débogage et diagnostics

Les outils de contrôle à distance de Visual Studio 2017 Preview ne sont pas disponibles

Problèmes de chargement de solution allégé

Certaines extensions peuvent ne pas fonctionner comme prévu quand le chargement de solution allégé est activé

  • Problème :

    Certaines extensions peuvent ne pas se comporter comme prévu quand le chargement de solution allégé est activé.

  • Solution de contournement :

    Désactivez le chargement de solution allégé et rechargez la solution.

Modifier & Continuer ne fonctionne pas quand le chargement de solution allégé est activé

  • Problème :

    Modifier & Continuer peut ne pas fonctionner quand le chargement de solution allégé est activé.

  • Solution de contournement :

    Désactivez le chargement de solution allégé et rechargez la solution avant d’utiliser Modifier & Continuer.

Les projets F# ne sont pas générés ou ne prennent pas en charge la navigation dans les symboles quand le chargement de solution allégé est activé

  • Problème :

    Quand le chargement de solution allégé est activé, les projets F# peuvent ne pas être générés correctement et les symboles ne pas être tous disponibles dans GoTo.

  • Solution de contournement :

    Désactivez le chargement de solution allégé pour les solutions qui contiennent des projets F#.

Les avertissements sont dupliqués quand le chargement de solution allégé est activé

  • Problème :

    Quand vous générez une solution avec le chargement de solution allégé activé, les avertissements des fichiers projet émis par la génération peuvent apparaître en double dans la liste d’erreurs.

  • Solution de contournement :

    Désactivez le chargement de solution allégé et rechargez la solution.

Problèmes d’extensibilité

Une erreur se produit quand vous ajoutez une commande personnalisée ou une fenêtre d’outil personnalisé

  • Problème :

    La tentative d’ajout d’une commande personnalisée ou une fenêtre d’outil personnalisé à un projet qui contient un fichier XAML peut échouer. Une erreur peut également apparaître avec le texte : « La séquence contient plusieurs éléments correspondants ».

  • Solution de contournement :

    1. Fermez tous les fichiers XAML ouverts.
    2. Fermez Visual Studio.
    3. Démarrez Visual Studio et ouvrez votre projet.
    4. Ajoutez la fenêtre d’outil personnalisé ou de commande personnalisée au projet (avant de charger un fichier XAML).

Problèmes liés à Application Insights

Le chargement des fournisseurs extensibles Application Insights échoue quand vous cliquez avec le bouton droit sur un projet

  • Problème :

    Le chargement des fournisseurs extensibles Application Insights échoue quand vous cliquez avec le bouton droit sur un projet dans Visual Studio. Cela est dû au fait que les fournisseurs extensibles chargent les fichiers binaires à partir de NuGet dans un thread d’arrière-plan une fois que la solution est chargée. Certains fournisseurs extensibles, comme ceux pour PHP et Azure Service Fabric, sont déjà installés. Ils n’ont donc pas ce problème. Un correctif à ce problème sera disponible par le biais d’une mise à jour automatique peu après la version initiale de Visual Studio 2017.

  • Solution de contournement :

    Ouvrez une invite de commandes avec des privilèges d’administrateur, puis exécutez la commande suivante en fonction de votre version de Visual Studio :

    • Visual Studio Enterprise

      • "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VsRegEdit.exe" set "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise" HKCU AppInsightsGettingStarted UseBackgroundThreadToFetchProjectInfo string Disabled.
    • Visual Studio Professional

      • "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VsRegEdit.exe" set "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional" HKCU AppInsightsGettingStarted UseBackgroundThreadToFetchProjectInfo string Disabled.
    • Communauté Visual Studio

      • "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VsRegEdit.exe" set "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community" HKCU AppInsightsGettingStarted UseBackgroundThreadToFetchProjectInfo string Disabled.

Certains projets ASP.NET Core ne parviennent pas à ajouter l’extrait de code JavaScript Application Insights pour la collecte d’affichages de pages

  • Problème :

    Les projets ASP.NET Core configurés avec Application Insights qui n’ont pas été créés avec Visual Studio 2017 ne sont pas exécutés. Si vous essayez d’exécuter une telle application, l’erreur « InvalidOperationException : aucun service du type 'Microsoft.ApplicationInsights.AspNetCore.JavascriptSnippet' n’a été inscrit. » est générée.

  • Solution de contournement :

    Après la configuration avec Application Insights, un extrait de code JavaScript est ajouté au fichier Views/Shared/_Layout.cshtml. Il existe deux solutions de contournement, selon que vous souhaitez qu’Application Insights collecte ou non les affichages de pages à partir de votre application :

    1. Collecter les consultations de page : ajoutez « .UseApplicationInsights() » au WebHostBuilder dans le fichier Program.cs.
    2. Ne pas collecter les consultations de page : supprimez les lignes suivantes de Views/Shared/_Layout.cshtml :
      • @inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet.
      • @Html.Raw(JavaScriptSnippet.FullScript).

Problèmes liés à Team Explorer

Les commandes Git qui modifient l’index peuvent échouer s’il existe un index.lock orphelin

  • Problème :

    Ce problème a été signalé initialement dans l’article Git undo and unstage failing. L’exécution d’une commande Git qui modifie l’index échoue s’il existe un index.lock Git orphelin. Git utilise ce fichier pour indiquer à d’autres processus Git que le dépôt est verrouillé pour modification. Si le processus de modification a cessé de répondre ou a été interrompu, le fichier index.lock peut être « oublié » et empêcher les autres processus Git de modifier le dépôt.

  • Solution de contournement :

    Quand ce problème se produit, recherchez s’il existe un fichier index.lock dans le dossier .git/ de votre dépôt. Si c’est le cas et que vous n’exécutez pas activement une commande Git, supprimez le fichier.

Le clonage via SSH échoue

  • Problème :

    Le clonage via SSH échoue dans Team Explorer. Un correctif à ce problème sera disponible dans une prochaine mise à jour.

  • Solution de contournement :

    Si vous souhaitez utiliser SSH, clonez à partir de la ligne de commande, puis ajoutez le dépôt à la liste des dépôts locaux dans Team Explorer. Vous pouvez également cloner via HTTP dans Team Explorer, puis définir vos dépôts distants pour qu’ils utilisent SSH dans Paramètres > Paramètres du référentiel > Distants.

L’annulation de commandes Git dans Team Explorer ne fonctionne pas

  • Problème :

    L’annulation d’une commande Git (par exemple un clone) dans Team Explorer ne fonctionne pas et l’opération se termine. Ce problème n’affecte pas les autres opérations Team Explorer.

  • Solution de contournement :

    Il n’existe aucune solution de contournement pour l’instant.

Problèmes liés au développement de charge de travail managée

Les projets .NET 2.0/3.0/3.5 génèrent des assemblys avec une cible incorrecte

  • Problème :

    Si vous installez Visual Studio 2017 sur un nouvel ordinateur sans d’abord sélectionner Outils de développement .NET Framework 3.5 à partir de l’onglet Composants individuels, et que vous générez un projet .NET 2.0 (ou 3.0/3.5), certains assemblys (tels que des ressources) seront marqués après la génération comme .NET 4.0 même quand le projet cible .NET 2.0. Cela est dû au fait que Visual Studio 2017 n’installe plus le SDK .NET Framework 3.5 par défaut. Le SDK étant manquant, le processus de génération utilise par défaut le SDK .NET 4.X.

  • Solution de contournement :

    Le SDK .NET 3.5 est désormais uniquement un composant facultatif. Si votre développement cible un produit .NET 3.5 (2.0/3.0/3.5), vous devez également sélectionner « Outils de développement .NET Framework 3.5 » sous l’onglet Composants individuels pendant l’installation. Le SDK .NET 3.5 nécessaire sera alors installé sur l’ordinateur utilisé pendant le processus de génération.

Problèmes liés à la charge de travail du développement avec la plateforme Windows universelle

Le concepteur XAML n'est pas disponible

  • Problème :

    Quand vous développez une application UWP, le concepteur XAML n’est pas disponible.

  • Solution de contournement :

    Le concepteur XAML n’est pas disponible, sauf si la version de la plateforme cible de l’application est inférieure ou égale à la version de Windows 10 sur laquelle vous exécutez Visual Studio. Par exemple : Si vous exécutez Visual Studio sur « Mise à jour anniversaire Windows 10 (build 14393) » et que la version de la plateforme cible de votre application UWP est « Windows 10 Creators Update », le concepteur XAML n’est pas disponible pour ce projet d’application. Pour pouvoir utiliser le concepteur XAML, installez la dernière version de Windows 10.

Mise à jour de Visual Studio nécessaire à l’ouverture d’un projet UWP

  • Problème :

    Quand vous ouvrez un projet dans Visual Studio qui a été créé dans Visual Studio 2017 Preview, vous pouvez obtenir la boîte de dialogue « Mise à jour de Visual Studio requise » qui vous indique d’installer un SDK de plateforme mis à jour. Le site web des archives du SDK Windows indiqué dans la boîte de dialogue n’affiche pas la version spécifiée du SDK Windows.

  • Solution de contournement :

    Ceci est normal, car Visual Studio 2017 Preview inclut une version précommerciale du SDK Windows. Pour y remédier, dans votre fichier projet, remplacez la version de la plateforme cible par la version du SDK Windows que vous voulez cibler. Pour Windows 10 Creators Update, il s’agit de « 10.0.15063.0 ».

    1. Cliquez avec le bouton droit sur le projet, puis sélectionnez « Modifier [Nom_application].[xx]proj », où [xx]proj désigne .csproj, .vcxproj, etc.,
    2. dans les propriétés de projet du fichier projet « TargetPlatformVersion » (pour les projets C#, VB et JS) ou « WindowsTargetPlatformVersion » (pour C++), puis définissez la valeur sur « 10.0.15063.0 » ou sur la version d’un autre SDK que vous avez installé.

La désinstallation du SDK Windows 10 Visual Studio entraîne des erreurs de build UWP dans Visual Studio 2017 ou Visual Studio 2015

  • Problème :

    Si vous désinstallez le SDK Windows 10, vous recevez l’erreur suivante quand vous créez une application UWP :
    Cannot resolve 'GenXbf.dll' under path 'C:\Program Files\Windows Kits\10'. Please install the Windows Software Development Kit. The Windows 10 SDK is installed with Visual Studio.
    Ce problème concerne Visual Studio 2017, Visual Studio 2017 Preview et Visual Studio 2015. Votre ordinateur peut passer à cet état d’erreur si vous avez installé :

    • Visual Studio 2017 et Visual Studio 2017 Preview, puis désinstallé l’un d’eux.
    • Visual Studio 2015 et Visual Studio 2017 ou Visual Studio 2017 Preview, puis désinstallé l’un d’eux.
    • Visual Studio 2017, Visual Studio 2017 Preview ou Visual Studio 2015, puis désinstallé un SDK Windows 10 directement à partir de Programmes et fonctionnalités ou en utilisant le programme d’installation de Visual Studio.
  • Solution de contournement :

    Ouvrez le Panneau de configuration et accédez à Programmes et fonctionnalités. Sélectionnez l'une des options suivantes et cliquez sur Réparer :

    • Kit de développement logiciel Windows - Windows 10.0.15063.00 (Creators Update).
    • Kit de développement logiciel Windows - Windows 10.0.14393.795 (Mise à jour anniversaire).

Certains contrôles XAML ne sont pas disponibles dans la boîte à outils

  • Problème :

    Quand vous utilisez des contrôles XAML qui sont installés à partir de kits SDK d’extension, vous risquez de ne pas voir certains d’entre eux dans la boîte à outils.

  • Solution de contournement :

    Si vous souhaitez utiliser ces contrôles, vous pouvez les ajouter manuellement dans l’éditeur XAML.

Problèmes connus de Visual C++ Desktop

Impossible de générer un projet de bureau Win32 C++ nouvellement créé après l’installation du kit SDK Windows 10 Creators Update (10.0.15063.0)

  • Problème :

    Le kit SDK Windows 10 Creators Update a été refactorisé pour réduire l’encombrement de l’installation par défaut. L’installation de ce kit SDK via la charge de travail UWP n’installera pas les en-têtes/bibliothèques nécessaires aux projets de bureau Win32 C++. Toutefois, les projets Visual C++ Desktop détecteront ce Kit SDK comme étant installé et, par défaut, tenteront de cibler 10.0.15063.0 dans les projets nouvellement créés.

  • Solution de contournement :

    Dans le programme d’installation de Visual Studio :

    • Sélectionnez la fonctionnalité « SDK Windows 10 (10.0.15063.0) pour plateforme desktop C++ x86 et x64 » sous la charge de travail « Développement Desktop en C++ ».
    • Une alternative consiste à choisir une version antérieure du kit SDK, entièrement installée sur le système (par exemple, 10.0.14393.0), à partir de la boîte de dialogue Propriétés du projet.

Problèmes de Xamarin

Génération annulée avec l’erreur : « Le projet 'nom_projet' nécessite l’installation des composants suivants sur votre machine »

  • Problème :

    La création d’applications Android peut nécessiter l’installation de composants supplémentaires. Cela peut s’avérer nécessaire dans plusieurs cas, par exemple si vous utilisez un nouveau composant comme le package NuGet ou si vous générez votre première solution Xamarin.Forms sur une machine donnée.

  • Solution de contournement :

    • Assurez-vous que les erreurs Intellisense sont visibles dans la liste et que Xamarin pour Visual Studio détecte les ressources manquantes. Vous verrez une erreur vous informant des ressources à télécharger et installer. Double-cliquez sur l’erreur dans la liste pour commencer à télécharger et installer les composants manquants. Les erreurs Intellisense doivent être visibles dans la liste, sinon vous ne pourrez pas voir cette erreur. La build sera annulée si vous essayez de générer un projet dans la solution sans installer les composants manquants.
    • Un moyen facultatif d’installer les composants manquants est de générer à partir de la ligne de commande.

Autres problèmes

Impossible de se connecter à (LocalDB)\MSSQLLocalDB sur un ordinateur x86

  • Problème :

    Il existe un problème connu localDB 2014 intermittent selon lequel la connexion à (LocalDB)\MSSQLLocalDB est impossible sur un ordinateur x86.

  • Solution de contournement :

    À l’invite de commandes, exécutez les commandes suivantes :

    1. sqllocaldb stop mssqllocaldb.
    2. sqllocaldb delete mssqllocaldb.
    3. sqllocaldb start mssqllocaldb.

Impossible de créer des points d’arrêt sur fonction dans les flux de travail SharePoint

  • Problème :

    Le volet des points d’arrêt dans Visual Studio autorisait auparavant la création de points d’arrêt de type « flux de travail ». Cette fonctionnalité a été supprimée.

  • Solution de contournement :

    Créez des points d’arrêt en mode concepteur à l’aide du menu contextuel.

Les activités de flux de travail SharePoint peuvent ne pas se charger correctement dans le Concepteur de flux de travail

  • Problème :

    Quand vous créez un projet de complément ou de solution SharePoint avec un flux de travail et des activités SharePoint, vous pourriez voir l’erreur suivante dans le Concepteur de flux de travail après la génération du projet : « Impossible de charger l’activité en raison d’erreurs dans le XAML » Par défaut, un nouveau projet de complément SharePoint cible le .NET Framework 4.5.2. Pour pouvoir utiliser les activités SharePoint dans un flux de travail, le projet doit cibler le .NET Framework 4.5.

  • Solution de contournement :

    • Accédez aux propriétés du projet, soit à partir du menu contextuel dans l’Explorateur de solutions, soit à partir du menu Projet.
    • Sous l’onglet Application, définissez le .NET Framework 4.5 comme framework cible.

La génération d’un projet SharePoint avec un flux de travail peut échouer quand des valeurs dynamiques sont utilisées

  • Problème :

    La génération d’un projet SharePoint avec un flux de travail peut échouer avec l’erreur suivante : « le nom de l’espace de noms ou de type « Le nom de type ou d’espace de noms 'Activities' n’existe pas dans l’espace de noms 'Microsoft' (vous manque-t-il une référence d’assembly ?) ».

  • Solution de contournement :

    1. Développez le nœud Flux de travail dans l’Explorateur de solutions et affichez le code pour le fichier workflow.xaml dans votre projet en appuyant sur la touche F7 ou via le menu contextuel quand le fichier est sélectionné dans l’Explorateur de solutions.
    2. Ajoutez la référence suivante à la section : Microsoft.Activities.

L’Assistant de projet Complément SharePoint peut ne pas détecter correctement la version de SharePoint ciblée par le projet

  • Problème :

    Quand vous créez un projet de complément SharePoint, la boîte de dialogue Nouveau projet essaie de détecter la version appropriée de SharePoint en fonction de l’URL du site que vous fournissez. Toutefois, si Visual Studio 2015 ou une version antérieure des composants clients SharePoint est également installé(e), la boîte de dialogue Nouveau projet peut déterminer à tort que le projet cible SharePoint 2016 au lieu de SharePoint Online.

  • Solution de contournement :

    Pour les nouveaux projets, quand vous créez un projet de complément SharePoint, vérifiez que la dernière page de la boîte de dialogue Nouveau projet a sélectionné la version appropriée de SharePoint ciblée par votre projet. Pour les projets existants, vous pouvez modifier la version de SharePoint ciblée par le projet en procédant comme suit :

    1. Accédez aux propriétés du projet, soit à partir du menu contextuel dans l’Explorateur de solutions, soit à partir du menu Projet.
    2. Sous l’onglet SharePoint, affectez comme version cible de SharePoint la version appropriée de SharePoint ciblée par votre projet.

Un projet de complément web Office peut contenir des avertissements dans la liste d’erreurs

  • Problème :

    Le fichier _officeintellisense.js contient une déclaration pour un objet « Office » qui est en conflit avec un objet déclaré dans le fichier office.d.ts.

  • Solution de contournement :

    Ces avertissements ne devraient pas affecter votre projet, mais vous pouvez les supprimer en mettant en commentaires la déclaration « var Office » supplémentaire dans le fichier Scripts\Office\ _officeintellisense.js ou en excluant ce fichier du projet avec le menu contextuel « Exclure du projet » dans l’Explorateur de solutions.

Packs de ciblage .NET non inclus dans la charge de travail d’outils de développement web de Visual Studio Build Tools SKU

  • Problème :

    La charge de travail d’outils de développement web dans Visual Studio Build Tools SKU ne contient aucun pack de ciblage .NET. Cela signifie que les fichiers binaires .NET peuvent être créés uniquement pour cibler la version 4.6.

  • Solution de contournement :

    Téléchargez et installez manuellement les packs de ciblage .NET du site web de Microsoft vers l’ordinateur de build.

Les fichiers inclus par utilisation des caractères génériques n’apparaissent pas dans l’Explorateur de solutions s’ils sont en dehors de la racine d’un projet

  • Problème :

    Pour les projets .NET Core et ASP.NET Core, les fichiers inclus par les modèles de caractères génériques apparaissent dans l’Explorateur de solutions seulement si les fichiers sont inclus dans le répertoire racine du projet. Les fichiers en dehors du répertoire racine du projet n’apparaissent pas. L’activation de « Afficher tous les fichiers » ne permet pas de résoudre ce problème. De même, vous ne pouvez pas accéder à ces fichiers via la recherche ou faire des recherches dans ces fichiers, ni utiliser les commandes Atteindre et Atteindre la définition.

  • Solution de contournement :

    Il n’existe aucune solution de contournement connue pour afficher les fichiers manquants dans l’Explorateur de solutions ou pour y accéder. Cependant, la génération et le débogage de ces projets doivent fonctionner sans problème. Dans la plupart des cas, vous pouvez modifier ces fichiers normalement en les ouvrant manuellement. Nous vous recommandons d’utiliser pour le moment des fichiers liés individuellement plutôt que des modèles de caractères génériques externes.

VS Test Professional 2017 SKU ne propose pas Team Explorer, d’où l’accès limité aux rapports basés sur Excel/SSRS à partir d’un entrepôt/cube TFS

  • Le problème est maintenant corrigé dans la version 15.1 (26403.00) :

    VS Team Explorer, qui permet d’accéder aux rapports basés sur Excel/SSRS à partir d’un entrepôt/cube TFS, n’est plus installé avec VS Test Professional SKU. Ceci n’a aucun impact sur le client Microsoft Test Manager (MTM) : il continue à fonctionner sans aucun problème connu.