Partager via


Notes de publication de Icône Visual StudioStudio 2017 version 15.5

Note

La version prise en charge de Visual Studio 2017 est la version 15.9.

Important

Il ne s’agit pas de la dernière version de Visual Studio. Pour télécharger la dernière version, consultez https://visualstudio.microsoft.com/downloads/ les notes de publication de Visual Studio 2022.

Visual Studio Blog

Le blog Visual Studio est la source officielle d’insights sur les produits de l’équipe d’ingénierie Visual Studio. Vous trouverez des informations détaillées sur les versions de Visual Studio version 15.5 dans les publications suivantes :

Sorties de Visual Studio 2017 version 15.5


Résumé des nouvelles fonctionnalités notables dans la version 15.5

Principaux problèmes résolus dans la version 15.5

Voici les problèmes signalés par le client résolus dans cette version :

Consultez tous les problèmes signalés par le client résolus dans Visual Studio 2017 version 15.5.

Portail de la communauté des développeurs


Détails des nouveautés de la version 15.5

Icône Notes de publication Visual Studio 2017 version 15.5.0

Publication : 4 décembre 2017

Nouvelles fonctionnalités dans la version 15.5

Environnement de développement intégré de Visual Studio

Configuration et installation
  • Le programme d’installation génère maintenant un point de restauration Windows pendant l’installation.
  • L’ajout et la suppression de programmes ont désormais des entrées pour chaque installation de Visual Studio. Visual Studio Installer prend désormais en charge la modification et la désinstallation de chaque entrée.
  • L’installation à partir d’une disposition hors connexion ne nécessite plus l’installation de certificats intermédiaires sur un ordinateur déconnecté.
  • Nous avons ajouté des améliorations de fiabilité et d’annulation dans le processus d’installation et de mise à jour.
Boîte de dialogue Erreur mise à jour

Nous avons mis à jour la boîte de dialogue d’erreur pour afficher plus d’informations pour résoudre les problèmes d’installation à l’aide de solutions potentielles de la Communauté des développeurs Visual Studio. (Figure 1).

Boîte de dialogue Nouvelle erreur du programme d’installation
(Figure 1) Boîte de dialogue Nouvelle erreur du programme d’installation
Performance
  • Réduction des temps de chargement des projets C# et Visual Basic volumineux.
  • Temps réduit pour basculer les configurations entre le débogage et la mise en production.
  • Temps réduit pour ajouter, supprimer et renommer des fichiers et des dossiers dans les projets .NET Core.
  • La charge légère de la solution (LSL) a été désapprouvée car le temps de chargement de la solution sans LSL a été réduit.
Services connectés
  • Nous avons mis à jour le fournisseur de services Stockage Azure pour prendre en charge les projets ASP.NET Core qui ciblent .NET Core.

Mises à jour de Team Explorer

Les dernières mises à jour de Team Explorer ont été inspirées par vos commentaires sur UserVoice.

Vous pouvez désormais utiliser des sous-modules git et des arborescences de travail, et configurer fetch.prune et pull.rebase dans Team Explorer. Visual Studio traite désormais les sous-modules Git et les worktrees comme des dépôts standards. Il vous suffit de les ajouter à votre liste de dépôts locaux et de commencer à coder !

Notez que pour les sous-modules, vous ne pouvez toujours pas effectuer d’action nécessitant une prise en charge multipo (par exemple, l’affichage d’un fichier dans le référentiel parent et un fichier dans le sous-module en même temps).

En outre, il est désormais plus facile de définir votre comportement Git par défaut pour découper chaque extraction et de rebaser sur chaque extraction. La suppression lors de chaque récupération élimine les branches de suivi locales qui n’existent plus sur le serveur et vous aide à garder votre liste de branches propre et à jour. Le rebasage à chaque récupération conserve votre historique de validation linéaire et plus facile à lire. Vous trouverez ces options dans les paramètres globaux et de référentiel.

Conseils de sécurité .NET Core et ASP.NET Core

Microsoft a publié des avis de sécurité pour .NET Core et ASP.NET Core. Plus d’informations sont disponibles dans les annonces correspondants des dépôts .NET Core et ASP.NET Core. Notez les informations suivantes :

  • CVE-2017-8585 Un certificat mal formé peut entraîner un déni de service : une vulnérabilité de sécurité est présente dans .NET Core 1.0, 1.1 et 2.0 où un certificat mal formé ou d’autres données asN.1 mises en forme peut entraîner un déni de service via une boucle infinie sur Linux et macOS. Les administrateurs système sont invités à mettre à jour leurs runtimes .NET Core vers les versions 1.0.8, 1.1.5 et 2.0.1. Les développeurs sont invités à mettre à jour leurs SDK .NET Core vers la version 2.0.3 ou 1.1.5.

  • CVE-2017-8700 Le contournement CORS peut activer la divulgation d’informations : il existe une vulnérabilité de sécurité dans ASP.NET Core 1.0 et 1.1 où le partage de ressources cross-origin (CORS) peut être contourné, ce qui entraîne la divulgation d’informations.

  • CVE-2017-11879 L’ouverture de redirection peut entraîner une élévation de privilèges : il existe une vulnérabilité de sécurité dans ASP.NET Core 2.0 où existe une redirection ouverte, ce qui entraîne l’élévation de privilèges.

  • CVE-2017-11770 Vulnérabilité de déni de service : il existe une vulnérabilité de sécurité dans ASP.NET Core 1.0, 1.1 et 2.0 lorsque l’application est hébergée via Windows Http.Sys où une demande incorrecte peut entraîner un déni de service.

Les nouveaux projets créés avec ASP.NET Core 1.0, ASP.NET Core 1.1 et ASP.NET Core 2.0 utilisent désormais les versions de package qui incluent les mises à jour de sécurité ci-dessus. Pour les projets existants, les utilisateurs peuvent mettre à jour les packages vers les versions plus récentes dans la boîte de dialogue Gérer les packages NuGet.

Ensemble d’outils du compilateur MSVC

Dans Visual Studio 2017 15.5, l’ensemble d’outils du compilateur MSVC dans Build Tools a été mis à jour vers la version 14.12, qui est compatible avec l’ensemble d’outils 15.4 version 14.11. Si vous rencontrez un problème lors de la compilation de votre code après la mise à niveau vers Visual Studio 2017 15.5, vous pouvez forcer l’installation de l’ensemble d’outils 14.11 côte à côte avec l’ensemble d’outils 14.12. L’ensemble d’outils Visual Studio 2017 15.4 (14.11) peut être sélectionné sous l’onglet Composants individuels , après avoir installé la charge de travail C++ Desktop.

Nouveautés du compilateur C#

Le compilateur C# prend désormais en charge l’ensemble de fonctionnalités de langage 7.2, notamment :

  • Prise en charge du Span<T> type utilisé dans Kestrel et CoreFX via le ref struct modificateur.
  • readonly struct modificateur : impose que tous les membres d'une structure sont readonly. Cela ajoute une couche de correction au code et permet également au compilateur d’éviter la copie inutile de valeurs lors de l’accès aux membres.
  • in paramètres / ref readonly retours : permet aux structs non modifiables d'être transmis et retournés en toute sécurité avec la même efficacité que les valeurs modifiables ref.
  • private protected modificateur d’accès : limite l’accès à l’intersection de protected et internal.
  • Arguments nommés non à la fin : les arguments nommés peuvent être utilisés n'importe où dans une liste d'arguments, sans obligatoirement que les arguments suivants soient aussi passés par leur nom.

Visual Studio Tools pour Xamarin

Cette version contient la prise en charge mise à jour des kits sdk Xamarin pour iOS et Android :

Vue en direct de l'exécution actuelle

La création d’interfaces utilisateur basées sur XAML est encore plus facile avec notre nouvelle fonctionnalité d’affichage actuel d’exécution en direct (Figure 2). Lorsque vous construisez votre interface utilisateur, voyez-la prendre vie au fur et à mesure que vous tapez dans l’émulateur Android, sans avoir à enregistrer, compiler ou redéployer l’application.

Xamarin Live Player

Xamarin Live Player permet aux développeurs de déployer, tester et déboguer en continu leurs applications, directement sur les appareils iOS et Android. Après avoir téléchargé l’application Xamarin Live Player (disponible dans l’App Store ou sur Google Play), vous pouvez associer votre appareil à Visual Studio et commencer à créer des applications mobiles à l’aide de Visual Studio et de votre appareil mobile. Optimisé pour Xamarin.Forms, vous pouvez désormais modifier leur code XAML et voir les modifications reflétées dans des instants sur votre appareil sans avoir à compiler ou attendre un déploiement complet. Cette version apporte de nombreuses améliorations à nos fonctionnalités Xamarin Live, notamment :

  • Debug plus intelligent et Live Run : Live Player ajuste désormais automatiquement votre projet de démarrage à la plateforme appropriée lors du débogage sur Xamarin Live Player (Figure 3). Par exemple, si iOS est sélectionné et que l’appareil Live Player associé est un Google Pixel, l’IDE vous recommande de modifier votre projet de démarrage en Android.
  • État du déploiement : vous pouvez maintenant suivre l’état d’un « Débogage » vers Xamarin Live Player avec des états de déploiement dans la barre d’état.
  • Intégration de la console et de la fenêtre d’erreur : la sortie enregistrée dans l’application apparaît désormais dans la fenêtre console, et les erreurs s’affichent dans la fenêtre Erreurs dans Visual Studio.
  • Menu contextuel d’exécution dynamique et raccourci clavier : nous voulions faciliter la visualisation instantanée de votre interface utilisateur XAML. Nous avons donc ajouté un menu contextuel et un raccourci clavier pour afficher un aperçu rapide et facile de vos pages XAML.
  • Basculement de document en temps réel : lors de la création d’interfaces utilisateur, il est courant de basculer entre différents documents XAML. La modification du document actif dans Visual Studio s’exécute automatiquement en direct, quelle que soit la page XAML ouverte. Vous pouvez donc facilement basculer entre différentes pages et les refléter instantanément sur votre appareil.
Xamarin Live Player
(Figure 3) Animation de la paire Xamarin Live Player, du déploiement et des modes d’édition en direct
Modèles

Fichier -> Nouveau projet -> Application mobile(Figure 4) est devenu plus facile avec les mises à jour de l’Assistant modèle multiplateforme pour les applications iOS, Android et Windows, y compris :

  • Prise en charge de .NET Standard : vous pouvez désormais créer une application Xamarin multiplateforme qui utilise .NET Standard 2.0 comme stratégie de partage de code.
  • Case à cocher Plateformes cibles : sélectionner les plateformes souhaitées dans Fichier -> Nouveau.
  • PackageReference - Tous les modèles sont désormais utilisés par défaut PackageReference, un nouveau moyen simple de gérer les packages NuGet dans vos applications Xamarin.
  • Dépliement des améliorations de performance : les modèles devraient désormais se déplier beaucoup plus rapidement qu’auparavant. Dans les cas les plus extrêmes, vous pouvez voir jusqu'à une amélioration de quarante fois dans le temps de déploiement.
Fichier -> Nouveau -> Application mobile
(Figure 4) Fichier -> Nouveau -> Paramètre Application mobile
Simulateur iOS distant

Le simulateur iOS distant vous offre un moyen simple de déboguer et de tester des applications iOS sur le simulateur entièrement à partir de Visual Studio sur Windows. Il prend en charge tout ce que le simulateur iOS sur Mac peut faire et encore plus , y compris la prise en charge multi-tactile ! À compter de Visual Studio 2017 version 15.5, le simulateur iOS distant est désormais disponible dans toutes les éditions de Visual Studio, y compris l’édition Community gratuite.

Gestionnaire du Kit de développement logiciel (SDK) Android Xamarin

La gestion de vos kits SDK Android vient d’être plus facile avec le nouveau Gestionnaire du kit de développement logiciel (SDK) Android Xamarin. Vous pouvez utiliser le nouveau Gestionnaire du KIT de développement logiciel (SDK) en accédant à Tools -> Android -> Android SDK Manager dans Visual Studio.

Améliorations apportées aux outils F#

Dans la version de Visual Studio 2017 15.5, nous nous sommes concentrés sur la prise en charge des outils F# pour les projets du SDK .NET Core. Les éléments suivants sont désormais pris en charge :

  • Vous pouvez créer des applications console .NET Core, des bibliothèques .NET Standard et des projets de test unitaire .NET Core à partir du nouveau projet de fichier>.
  • Nous avons ajouté la prise en charge des projets .NET Core et .NET Standard existants.
  • Nous avons ajouté la prise en charge des projets de SDK .NET Core existants qui ciblent une version du .NET Framework.
  • Les références de projet à projet sont prises en charge.
  • Nous avons ajouté la prise en charge des projets SDK Web (par exemple, des projets F# ASP.NET Core ou un projet utilisant le modèle Giraffe).
  • Vous pouvez maintenant utiliser le clic droit pour publier avec les projets du Kit de développement logiciel (SDK) Web.
  • La génération automatique d’un pipeline CI/CD avec les outils Visual Studio Team Services est prise en charge.

Il y a également eu quelques améliorations apportées aux outils Visual F# qui ne sont pas axés sur les projets du SDK .NET Core. Il s’agit notamment des éléments suivants :

  • Accédez à Définition de F# à C#, par Saul Rennison et Vasily Kirichenko.
  • Colorisation pour le thème Bleu (Contraste supplémentaire), par Microsoft et Vasily Kirichenko.
  • Les pages de propriétés ont désormais une taille automatique correcte sur différents moniteurs.
  • Retrait automatique intelligent pour les nouvelles lignes lorsque la mise en retrait est définie sur « Smart », par Duc Nghiem Xuan.
  • Déindentation automatique pour les parenthèses fermantes lorsque la mise en retrait est définie sur « Smart », par Saul Rennison.
  • Les champs d’énumération peuvent désormais être considérés comme des symboles dans les info-bulles, Trouver toutes les références, Aller à tous et renommer en ligne, par Vasily Kirichenko.
  • Les commentaires de la documentation XML séparés par les lignes nouvelles ne sont pas ajoutés au commentaire de document XML actuel en pointages, par Vasily Kirichenko.
  • La documentation XML du mot clé ref a été corrigée par CHBen.
  • Plusieurs correctifs de bogues et améliorations des performances.

Veuillez déposer les problèmes que vous trouvez sur notre dépôt GitHub.

Modifications apportées au programme d’installation F#

Nous avons changé la façon dont vous acquérez F#.

  • Si vous installez une charge de travail qui nécessite .NET Core 2.0, elle installe également la prise en charge du langage F# par défaut. Les charges de travail .NET Core, ASP.NET et Azure le font maintenant.
  • La case à cocher « Prise en charge du langage F# » dans le développement du bureau .NET, le stockage et le traitement des données, ainsi que les charges de travail des applications scientifiques et analytiques des données ont été renommées en « prise en charge du bureau F# ».

Améliorations apportées au compilateur F# 4.1

Il existe un certain nombre de correctifs de bogues dans le compilateur F# 4.1 avec cette version :

  • Améliorations apportées à la génération PDB dans le compilateur F#, en corrigeant cinq problèmes connus dans le débogage de F# datant de 2014.
  • Correctif pour les champs d’enregistrement mal résolus par le compilateur, par Vasily Kirichenko.
  • StartAsTask attend maintenant correctement que l’annulation se termine, par Matthias Ditrich.
  • Les références d’assembly sont désormais créées lorsqu’un type est utilisé uniquement dans un attribut.
  • Les unions discriminées à cas unique ayant le même nom de cas ne sont plus implicitement converties en un type d'objet.
  • Une boucle asynchrone infinie possible sur MailboxProcess. La réception a été corrigée.

Améliorations de Visual C++

Vous avez maintenant la possibilité d’importer des projets CMake existants et de mettre en cache des configurations dans l’IDE via File>Open>CMake.

Support d'ouverture des dossiers pour les exports du compilateur ARM en ligne

Choisissez l’option dans la charge de travail C++ Linux pour les projets Embedded et IoT, et vous pouvez modifier et compiler des projets ciblant des microcontrôleurs ARM. Nous prenons en charge l’ouverture de projets exportés en tant que GCC à partir du compilateur en ligne ARM qui peuvent ensuite être compilés localement à partir de Visual Studio. Pour plus d’informations, consultez notre billet de blog sur Visual C++ pour le développement ARM.

Tâches distantes

La fonctionnalité d'ouverture de dossiers prend désormais en charge les tâches distantes. Il s’agit de tâches qui s’exécutent sur un système distant via Secure Shell (SSH). Ces tâches peuvent également être configurées pour copier des fichiers sur l’ordinateur cible pour effectuer des opérations telles que la compilation de code à l’aide d’un système Linux. Pour en savoir plus, consultez notre billet de blog sur l’utilisation de tâches distantes dans Visual Studio.

Améliorations apportées à la bibliothèque de modèles standard

Le site web Open Standards contient plusieurs pages pour les groupes produisant des normes ouvertes. Nous avons ajouté ces améliorations à la bibliothèque de modèles standard concernant la norme C++17 :

  • not_fn(): P0005R4 recommande d’adopter le not_fn classeur de fonctions à partir des principes de base de la bibliothèque TS v2 comme remplacement des anciens négators, not1 et not2.
  • Réécriture enable_shared_from_this: P0033R1Re-enabling shared_from_this.
  • Dépréciation des composants de bibliothèque Vestigial : P0174R2. Un certain nombre de fonctionnalités de la bibliothèque standard C++ ont été supplantées par des ajouts au fil des ans, ou nous avons appris qu'elles ne servent pas aussi bien leur but initial qu'on l'avait espéré à l'origine. Ce document propose de déprécier les fonctionnalités où de meilleures options, plus simples ou plus claires sont disponibles.
  • Suppression de la prise en charge de l’allocator dans std::function: P0302R1. Le modèle de classe std::function a plusieurs constructeurs qui prennent un argument d'allocateur, mais la sémantique n'est pas claire, et il existe des problèmes techniques liés au stockage d'un allocateur dans un contexte d'effacement de type, puis pour récupérer ultérieurement cet allocateur pour toutes les allocations nécessaires au cours de l'affectation par copie. Ces constructeurs doivent être supprimés.
  • Correctifs pour not_fn(): P0358R1. La nouvelle formulation de std::not_fn propose, entre autres améliorations, de prendre en charge la propagation de la catégorie de valeur lors de l'invocation d'un wrapper.
  • shared_ptr<T[]>, shared_ptr<T[N]>: P0414R2. Fusion des shared_ptr modifications de notions de base de la bibliothèque vers C++17.
  • Correction shared_ptr des tableaux : P0497R0. Correctifs pour la prise en charge des tableaux.
  • Dépréciation de shared_ptr::unique() : P0521R0. Résolution proposée pour CA 14 (shared_ptr use_count/unique).
  • codecvtDépréciation : P0618R0 n’est <codecvt> pas la meilleure façon d’aborder le transcodage Unicode, ce composant de bibliothèque doit être retiré à l’annexe D.
  • Suppression des spécifications d’exceptions dynamiques : P0003R5. Les spécifications d’exception dynamique ont été déconseillées en C++11. Suppression de la fonctionnalité de C++17, tout en conservant la spécification (toujours) déconseillée de throw() strictement en tant qu’alias pour noexcept(true).
  • Assemblage de mappages et ensembles : P0083R3. Cette conception permet d’effectuer des opérations de découpage de toutes sortes, de déplacer des éléments (y compris des clés cartographiques) hors du conteneur et de plusieurs autres opérations et conceptions utiles. Il s’agit d’une amélioration des conteneurs associatifs et non ordonnés pour prendre en charge la manipulation des nœuds. Il s’agit d’un ajout pur à la bibliothèque Standard.
  • insert_return_typePrécision : P0508R0. Les conteneurs associatifs avec des clés uniques et les conteneurs non ordonnés avec des clés uniques ont une fonction membre insert qui retourne un type insert_return_typeimbriqué. Ce type de retour est une spécialisation du type spécifié dans cette section.
  • Variables inline pour la bibliothèque STL : P0607R0.
Améliorations apportées au compilateur Visual C++

Le compilateur Visual C++ prend en charge environ 75% des fonctionnalités C++17, notamment les liaisons structurées, constexpr les lambdas, les if constexprvariables inline, les expressions pliées, les littéraux hexadécimaux et l’ajout noexcept au système de type. Celles-ci sont disponibles sous l'interrupteur /std:c++17. Le /permissive- mode de conformité inclut une prise en charge partielle de la recherche de noms en deux phases et une prise en charge améliorée de l’extension des paquets pour les modèles variadiques. Un mode /permissive- a été ajouté comme nouveau menu déroulant "Langue" dans les propriétés du projet pour les projets C++.

Améliorations apportées à l’optimiseur Visual C++

L’équipe de génération de code C++ a apporté des améliorations aux optimisations existantes du compilateur et ajouté de nouvelles optimisations dans la version 15.5.

Sélectionnez les améliorations apportées à l’éditeur de liens :

  • Vous découvrirez une nouvelle et plus rapide implémentation /OPT:ICF : jusqu'à 9 % d'accélération du temps de raccordement.
  • Nous avons apporté des correctifs à la liaison incrémentielle. La liaison incrémentielle ne sera jamais plus lente que la liaison complète.

Sélectionnez les améliorations apportées aux optimisations existantes :

  • Nous avons amélioré l’heuristique vectoriseur pour les expressions conditionnelles.
  • Nous avons amélioré l’optimisation loop-if-unswitching .
  • Nous avons apporté des améliorations au déroulage de boucles.
  • Nous avons amélioré la génération de code pour les opérations float min/max.

Sélectionnez de nouvelles optimisations :

  • Nous avons amélioré et éliminé les instructions redondantes (et partiellement redondantes) pour l’optimiseur SSA.
  • Nous avons optimisé la vectorisation des stockages scalaires conditionnels.
  • Nous combinons les appels sin(x) et cos(x) en sincos(x).

Visual C++ prend en charge AVX-512 d’Intel, notamment les instructions de longueur de vecteur qui apportent de nouvelles fonctions à AVX-512 dans des registres de 128 et 256 bits de large.

Nous expédions plus de 20 nouvelles vérifications des instructions de base C++ dans l’analyse du code C++. Ces vérifications couvrent la correction du pointeur intelligent, l’utilisation correcte des initialiseurs globaux et les utilisations d’indicateurs de construction comme gotoet bad_cast.

Certains numéros d’avertissement que vous trouverez dans la version 15.3 ne sont plus disponibles dans la version 15.5. Ces avertissements ont été remplacés par des vérifications plus spécifiques.

Prise en charge intégrée de Google Test et du cadre Boost.Test

Écrivez, découvrez et exécutez vos tests unitaires Google Test et Boost.Test dans Visual Studio. Par défaut, l’Explorateur de tests prend désormais en charge les frameworks Google Test et Boost.Test. Si vous effectuez une mise à niveau à partir d’une installation de Visual Studio précédente, ouvrez Visual Studio Installer, cliquez sur « Modifier » sur votre instance de Visual Studio, puis cochez les cases « Adaptateur de test pour Google Test » et « Adaptateur de test pour Boost.Test » sous « Développement de bureau avec C++ ». Créez facilement un projet Google Test : sélectionnez Fichier > nouveau > projet > Visual C++ > Test > Google Test.

Pour plus d’informations, reportez-vous à la procédure d’utilisation de Google Test pour C++ dans Visual Studio et à l’utilisation de Boost.Test pour C++ dans les pages Visual Studio sur Microsoft Docs.

Visual Studio Web Tools

  • La mise en forme de la syntaxe Razor a été améliorée.
  • Nous avons amélioré l’expérience de publication d’applications ASP.NET sur des machines virtuelles Azure.

Outils de conteneur Docker

  • Les outils de Visual Studio pour les conteneurs Docker prennent désormais en charge les fichiers Dockerfile à plusieurs étapes, afin de simplifier la création d’images conteneur optimisées.
  • Si vous exécutez Visual Studio sur un ordinateur exécutant Windows 10 version 1709 ou Windows Server version 1709, vos images conteneur utilisent Windows Server version 1709 par défaut. Vous pouvez le modifier en modifiant le fichier Dockerfile. Notez que les images conteneur qui utilisent des versions antérieures de Windows s’exécutent uniquement sur Windows 10 version 1709 et Windows Server version 1709 en mode d’isolation Hyper-V. Pour plus d’informations, consultez la page Compatibilité des versions de conteneur Windows .
  • Par défaut, Visual Studio extrait, génère et exécute automatiquement les images conteneur nécessaires en arrière-plan lorsque vous ouvrez un projet prenant en charge Docker. Vous pouvez le désactiver via le démarrage automatique des conteneurs en arrière-plan dans Visual Studio.

Améliorations de TypeScript/JavaScript

Prise en charge de Angular 2

Les développeurs Angular2 peuvent désormais voir les erreurs, les achèvements et la navigation du code dans les modèles inline et les fichiers de modèles .ngml. Consultez l’exemple de dépôt pour obtenir une vue d’ensemble et des instructions.

Améliorations des performances

Nous avons ajouté une case à cocher Analyser uniquement les projets contenant des fichiers ouverts dans l'éditeur dans la page des options du projet de l'éditeur de texte JavaScript/TypeScript. Cette option améliore les performances et la fiabilité dans les grandes solutions. Notez que lorsque cette case est cochée, vous devez effectuer une build de solution pour afficher la liste complète des erreurs TypeScript dans tous les fichiers.

Nous avons résolu un problème qui entraînait le chargement du service de langage TypeScript/JavaScript avec plus de mémoire que prévu et pouvait entraîner le chargement de la mauvaise version de TypeScript dans des solutions multi-projets.

Outils Windows Communication Foundation (WCF)

Le fournisseur de services connectés WCF Web Service Reference(Figure 5) est maintenant intégré à Visual Studio 15.5.

Informations de référence sur le service web WCF
(Figure 5) Informations de référence sur le service web WCF

Pour utiliser cet outil, cliquez avec le bouton droit sur l’élément de projet Dépendances dans votre projet .Net Core, puis sélectionnez l’option Ajouter un service connecté, puis entrez l’adresse du service web pour lequel vous souhaitez générer du code. Le code proxy du client WCF généré est enregistré dans un fichier C# qui est automatiquement ajouté à votre projet. Cela permet à votre code .NET Core de communiquer facilement avec le service web.

Pour plus d’informations, consultez les notes de publication de la référence du service web WCF dans GitHub .

Débogage et diagnostics

Déboguer des applications en production avec le débogueur de capture instantanée

Vous pouvez désormais utiliser Snappoints et Logpoints pour déboguer des applications ASP.NET et ASP.NET Core s’exécutant dans Azure App Services avec un impact minimal.

  • Définissez des points d’ancrage (figure 6) pour capturer l’état de votre application, y compris les variables locales, les montres et la pile des appels. Contrairement aux points d'arrêt, votre application ne s'arrête pas lorsqu’un Snappoint est atteint.
Image de points d’ancrage
(Figure 6) Points d’ancrage
  • Utilisez des points de journal (Figure 7) pour consigner de nouveaux messages à partir de votre application sans avoir à ajouter du code ou à redéployer votre application.
Points de log
(Figure 7) Points de journalisation
Prise en charge de la source incorporée et de la base de données PDB incorporée

Avec la source incorporée, le débogueur Visual Studio peut désormais extraire et utiliser des fichiers sources pour les fichiers binaires managés directement à partir des fichiers PDB. Combinez la source incorporée avec la base de données PDB incorporée pour créer des fichiers binaires entièrement autonomes pouvant être débogués. En savoir plus sur l’utilisation du commutateur du compilateur /embed.

Vous pouvez également déboguer à l’aide de Modifier et Continuer pour le code managé lors de la compilation avec des PDB intégrées.

Revenir en arrière lors du débogage avec IntelliTrace

Avec la nouvelle fonction de retour en arrière pour le débogage IntelliTrace, IntelliTrace prend automatiquement un instantané de votre application à chaque point d’arrêt et à chaque étape de débogage. Cela vous permet de revenir aux points d’arrêt ou étapes précédents et d’afficher l’état de l’application tel qu’il était dans le passé.

Cette fonctionnalité est disponible sur la mise à jour anniversaire Windows 10 et versions ultérieures, et prend actuellement en charge le débogage ASP.NET, WinForms, WPF, les applications console managées et les bibliothèques de classes managées (Figure 8). Pour activer la fonctionnalité, accédez auxparamètres IntelliTrace>> et sélectionnez les événements et captures instantanées IntelliTrace.

Retour en arrière
(Figure 8) Revenir en arrière lors du débogage avec IntelliTrace

Accès aux ressources Azure à partir de Visual Studio avec accès conditionnel activé

Visual Studio prend désormais en charge l’accès aux ressources Azure qui ont un accès conditionnel activé qui vous oblige à vous authentifier avec 2FA, même si votre compte lui-même ne nécessite pas 2FA. Auparavant, si votre compte nécessitait l'authentification à deux facteurs (2FA) pour se connecter, Visual Studio vous invitait à entrer le code 2FA et vous pouviez alors accéder à toutes les ressources qui l'exigeaient ; mais si votre compte n'avait pas besoin de 2FA, Visual Studio n'était pas en mesure d'accéder à ces ressources.

À présent, lorsque les comptes ne nécessitent pas 2FA, mais que les ressources le font, vous pouvez authentifier votre compte dans Visual Studio sans 2FA, et quand vous essayez d’accéder à une ressource Azure qui nécessite 2FA, Visual Studio vous invite à vous authentifier à nouveau et nécessite 2FA pour activer l’accès à votre ressource.

Prise en charge des outils Office pour Office dans le Windows Store

Les projets de complément web Office et les projets VSTO prennent désormais en charge le développement avec Office dans le Windows Store. Vous pouvez créer, générer, déboguer et publier des projets de complément web et des projets VSTO à l’aide d’Office dans le Windows Store.

  • Fall Creators Update (version 1709) pour Windows 10 ou Windows Server 2016 est nécessaire pour utiliser les outils Office avec Office dans le Windows Store.

Visual Studio Tools pour Unity

  • Les projets Unity sont désormais automatiquement rechargés dans Visual Studio quand vous ajoutez ou supprimez un script Unity.
  • Correction de la génération de projet .Player lors de l’utilisation d’un jeu UWP avec le backend IL2CPP/.NET 4.6.
  • Introduction d’une option permettant d’utiliser le débogueur Mono partagé par Xamarin et Visual Studio pour Mac pour déboguer l’éditeur Unity.

Test unitaire en direct

  • Les builds de Live Unit Testing s'exécutent maintenant hors processus, améliorant ainsi l'utilisation de la mémoire dans Visual Studio.

Empaquetage Windows

Nous avons ajouté la prise en charge du projet d’empaquetage pour inclure des applications et des composants UWP qui permettent de tirer parti des dernières fonctionnalités de Windows 10 de vos applications de bureau existantes. Pour inclure des composants UWP, vous pouvez Add Reference utiliser l’application UWP (figure 9).

Projet d’empaquetage Windows avec référence UWP
(Figure 9) Projet d’empaquetage Windows avec référence UWP

Vous pouvez utiliser l’Assistant package de magasin pour générer les fichiers dont vous avez besoin pour soumettre votre application Desktop Bridge au magasin, comme avec les projets UWP existants.


Icône des Notes de publication Visual Studio 2017 version 15.5.1

Publication : 7 décembre 2017

Principaux problèmes résolus dans la version 15.5.1

Voici les problèmes signalés par le client résolus dans cette version :


Icône Notes de publication Visual Studio 2017 version 15.5.2

Publication : 14 décembre 2017

Principaux problèmes résolus dans la version 15.5.2

Voici les problèmes signalés par le client résolus dans cette version :


Icône des notes de publication Visual Studio 2017 version 15.5.3

Publication : 9 janvier 2018

Résumé des mises à jour dans la version 15.5.3

Conseils de sécurité Microsoft pour .NET Core

  • CVE-2018-0786 Le contournement des fonctionnalités de sécurité dans X509 Certificate Validation Microsoft publie cet avis de sécurité pour fournir des informations sur une vulnérabilité dans les versions publiques de .NET Core 1.0 et 1.1 et 2.0. Cet avis fournit également des conseils sur ce que les développeurs peuvent faire pour mettre à jour leurs applications correctement. Cet avis de sécurité s’applique aussi à .NET Native pour UWP.

    Microsoft a connaissance d’une faille de sécurité dans les versions publiques de .NET Core qui permet à un attaquant de présenter un certificat qui est marqué non valide pour une utilisation spécifique, mais un composant l’utilise quand même dans ce but. Cette action ne tient pas compte du marquage de l’utilisation améliorée de la clé.

    La mise à jour de sécurité corrige la faille en garantissant que tous les composants .NET Core valident totalement les certificats. Les administrateurs système sont invités à mettre à jour leurs runtimes .NET Core vers les versions 1.0.9, 1.1.6 et 2.0.5. Les développeurs sont invités à mettre à jour leurs SDK .NET Core vers la version 2.1.4 ou 1.1.7.

  • CVE-2018-0764 Déni de service lors de l’analyse de documents XML Microsoft publie cet avis de sécurité pour fournir des informations sur une vulnérabilité dans les versions publiques de .NET Core 1.0 et 1.1 et 2.0. Cet avis fournit également des conseils sur ce que les développeurs peuvent faire pour mettre à jour leurs applications correctement.

    Microsoft a connaissance d’une vulnérabilité de déni de service dans toutes les versions publiques de .NET Core à cause du traitement incorrect des documents XML. Un attaquant qui parvenait à exploiter cette vulnérabilité pouvait provoquer un déni de service sur une application .NET. Un attaquant distant non authentifié pouvait exploiter cette vulnérabilité en émettant des requêtes spécialement conçues pour une application .NET Core.

    La mise à jour corrige la vulnérabilité en changeant la manière dont .NET Core gère le traitement des documents XML. Les administrateurs système sont invités à mettre à jour leurs runtimes .NET Core vers les versions 1.0.9, 1.1.6 et 2.0.5. Les développeurs sont invités à mettre à jour leurs SDK .NET Core vers la version 2.1.4 ou 1.1.7.

Principaux problèmes résolus dans la version 15.5.3

Voici les problèmes signalés par le client résolus dans cette version :


Icône Notes de publication Visual Studio 2017 version 15.5.4

Publication : 16 janvier 2018

Principaux problèmes résolus dans la version 15.5.4

Voici les problèmes signalés par le client résolus dans cette version :


Icône des Release Notes IconVisual Studio 2017 version 15.5.5

Publication : 25 janvier 2018

Résumé des mises à jour dans la version 15.5.5

  • Le compilateur MSVC a été mis à jour avec prise en charge du commutateur /Qspectre qui insère automatiquement une barrière de spéculation lorsque le compilateur détecte les instances de Spectre variant 1. Pour plus d’informations sur /Qspectre, reportez-vous au blog de l’équipe Visual C++.

Principaux problèmes résolus dans la version 15.5.5

Voici les problèmes signalés par le client résolus dans cette version :

  • L’application Xamarin génère une Cannot access a disposed object. Object name: 'MobileAuthenticatedStream'erreur.
  • L’application Xamarin.Android lève ClassNotFoundException lors de la dérivation de la classe Application.
  • La mise à niveau peut entraîner la désinstallation des kits SDK Windows et Android installés précédemment.
  • JDK 8 est passé à la dernière version pour éviter les échecs de téléchargement à partir du site web Oracle.

Icône Notes de publicationVisual Studio 2017 version 15.5.6

Publication : 29 janvier 2018

Résumé des mises à jour dans la version 15.5.6


Icône des Notes de publication Visual Studio 2017 version 15.5.7

Publication : 20 février 2018

Résumé des mises à jour dans la version 15.5.7

  • Team Explorer prend en charge TLSv1.2. Nous avons mis à jour le Git et les composants du Gestionnaire d’informations d’identification Git fournis dans Visual Studio. Le composant Git pour Windows en option a également été mis à niveau. Cette mise à jour permet au Git de se connecter aux services avec une prise en charge déconseillée pour TLSv1 et TLSv1.1 en faveur de TLSv1.2.

Principaux problèmes résolus dans la version 15.5.7

Voici les problèmes signalés par le client résolus dans cette version :

  • Les projets ciblant .NET Core 2.1 ou ultérieur ne sont pas pris en charge par Visual Studio 2017 version 15.5.
  • Correction d’un problème où l’installation du Kit de développement logiciel (SDK) pour .NET Core 2.1 ou une version ultérieure entraînait la disparition de l’option permettant de créer ASP.NET applications web Core 2.0.

Problèmes connus

Nous nous engageons à tenir compte de vos commentaires. Visitez le site de la communauté des développeurs pour découvrir les derniers problèmes, consigner de nouveaux problèmes et voter pour les problèmes existants. Consultez tous les problèmes connus existants et les solutions de contournement disponibles dans Visual Studio 2017 version 15.5.

Problèmes connus de Visual Studio 2017


Historique des notes de publication de Visual Studio 2017

Pour plus d’informations sur les versions précédentes de Visual Studio 2017, consultez la page Historique des notes de publication de Visual Studio 2017.