Notes de publication Visual Studio 2017 version 15.5
Communauté des développeurs | Configuration système requise | Compatibilité | Code distribuable | Termes du contrat de licence | Blogs | Problèmes connus
Remarque
Il ne s’agit pas de la dernière version de Visual Studio. Pour télécharger la version la plus récente, veuillez vous rendre sur le site de Visual Studio.
Délai de prise en charge
Cette version n’est plus prise en charge. Pour plus d’informations sur la prise en charge de Visual Studio, consultez la Stratégie de prise en charge pour Visual Studio 2017.
Reportez-vous à la version la plus récente des notes de publication ou rendez-vous sur visitez le site de Visual Studio pour télécharger la version prise en charge de Visual Studio 2017 la plus récente.
Blog Visual Studio
Le blog Visual Studio est la source officielle où l’équipe d’ingénierie de Visual Studio partage des informations sur le produit. Vous trouverez des informations détaillées sur les versions Release de Visual Studio version 15.5 dans les billets suivants :
- Visual Studio 2017 version 15.5 -- Lisez le dernier billet de blog !
Versions Release de Visual Studio 2017 version 15.5
- 20 février 2018 --Visual Studio 2017 version 15.5.7
- 29 janvier 2018 -- Visual Studio 2017 version 15.5.6
- 25 janvier 2018 -- Visual Studio 2017 version 15.5.5
- 16 janvier 2018 -- Visual Studio 2017 version 15.5.4
- 9 janvier 2018 -- Visual Studio 2017 version 15.5.3
- 14 décembre 2017 -- Visual Studio 2017 version 15.5.2
- 7 décembre 2017 -- Visual Studio 2017 version 15.5.1
- 4 décembre 2017 -- Visual Studio 2017 version 15.5
Récapitulatif des nouvelles fonctionnalités importantes de la version 15.5
- Nous avons amélioré la fiabilité et les options d’annulation du programme d’installation de l’IDE Visual Studio.
- Nous avons mis à jour la boîte de dialogue d’erreur pour afficher plus d’informations permettant de résoudre les problèmes d’installation.
- Nous avons réduit le temps de chargement des projets volumineux en C# et Visual Basic.
- Vous pouvez désormais utiliser des sous-modules et des arborescences de travail Git, et configurer
fetch.prune
etpull.rebase
dans Team Explorer. - Découvrez plus d’informations sur les avis de sécurité pour .NET Core et ASP.NET Core.
- L’ensemble d’outils du compilateur MSVC a été mis à jour vers la version 14.12.
- Le compilateur C# prend désormais en charge les fonctionnalités de langage de la version 7.2.
- Nous avons ajouté la prise en charge de projets du SDK .NET Core pour les outils F# et changé la façon dont vous obtenez F#.
- Nous avons ajouté des améliorations Visual C++ à la bibliothèque STL (Standard Template Library).
- Nous avons amélioré la mise en forme de la syntaxe Razor dans les outils web de Visual Studio.
- Les conteneurs Docker prennent désormais en charge les fichiers Dockerfile à plusieurs étapes.
- Vous disposez désormais d’une prise en charge d’Angular 2 pour les fichiers modèles .ngml et inline.
- Vous pouvez désormais ouvrir des projets exportés à partir du compilateur en ligne ARM dans Visual Studio.
- L’ouverture de dossier prend désormais en charge les tâches à distance pour utiliser n’importe quel système de génération à distance ou exécuter des commandes arbitraires.
- Nous avons ajouté la prise en charge de la source incorporée pendant le débogage, ainsi que la prise en charge de la fonction Modifier et Continuer pour les PDB incorporés.
- La référence de service web WCF pour .Net Core fait désormais partie de Visual Studio 15.5.
- Vous pouvez déboguer des applications en production avec le débogueur d’instantané.
- La fonctionnalité de débogage Revenir en arrière d’IntelliTrace est désormais prise en charge.
- Vous pouvez accéder à partir de Visual Studio aux ressources Azure avec l’accès conditionnel activé.
- 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.
- Visual Studio Tools pour Xamarin contient une mise à jour de la prise en charge des SDK Xamarin pour iOS et Android.
- Les projets Unity sont désormais automatiquement rechargés dans Visual Studio quand vous ajoutez ou supprimez un script Unity.
- L’Explorateur de tests prend désormais en charge le framework Google Test par défaut.
- Vous pouvez maintenant afficher un aperçu du code XAML en direct au fur et à mesure de votre saisie dans l’émulateur Android.
- Le projet de packaging Windows vous permet désormais d’inclure des composants UWP tels que :
BackgroundTasks
,AppServiceConnection
ouFullTrustProcessLauncher
. - Vous pouvez maintenant configurer la livraison continue à partir du flux de travail de publication de projet pour déployer automatiquement votre projet sur Azure à chaque modification de code dans votre dépôt.
Principaux problèmes corrigés dans la version 15.5
Voici les problèmes signalés par des clients et résolus dans cette version :
- Enregistrer toutes les tentatives d’enregistrement des onglets de requête .sql fermés.
- Fichiers bin\roslyn verrouillés pendant la génération.
- À partir de Visual Studio 2017 version 15.3, les points d’arrêt ne fonctionnent pas quand le jeu de caractères du fichier n’est pas le même que celui de .editorconfig (UTF8 ou UTF8-BOM).
- Le package « Microsoft.Net.4.6.FullRedist.NonThreshold,version=4.6.81.9 » ne peut pas être réparé.
- Visual Studio 2017 est en conflit avec OneDrive à la demande (build Windows 10 Insider).
- Erreur Accès refusé à la création des clés de Registre sur Windows 7.
- La StartPage désactivée est ouverte quand le projet est fermé.
- Icônes manquantes après la mise à jour.
- Visual Studio 2017 fonctionne lentement pendant le débogage ASP.NET.
- La génération de Visual Studio 2017 est lente.
- Visual Studio peut se figer ou se bloquer quand il est exécuté sur un ordinateur avec stylet.
Consultez tous les problèmes signalés par les clients et corrigés dans Visual Studio 2017 version 15.5.
Détails des nouveautés de la version 15.5
Visual Studio 2017 version 15.5.0
Publication : 4 décembre 2017
Nouvelles fonctionnalités de la version 15.5
IDE Visual Studio
Configuration et installation
- Le programme d’installation génère désormais un point de restauration Windows pendant l’installation.
- Le menu Ajouter et supprimer des programmes a désormais des entrées pour chaque installation de Visual Studio. Visual Studio Installer prend maintenant en charge la modification et la désinstallation de chaque entrée.
- L’installation à partir d’une disposition hors connexion n’exige plus l’installation de certificats intermédiaires sur l’ordinateur déconnecté.
- Nous avons amélioré la fiabilité et les options d’annulation du processus d’installation et de mise à jour.
Mise à jour de la boîte de dialogue d’erreur
Nous avons mis à jour la boîte de dialogue d’erreur pour afficher plus d’informations permettant de résoudre les problèmes d’installation à l’aide des solutions potentielles de la communauté de développeurs Visual Studio. (Figure 1).
Performances
- Réduction du temps de chargement des projets volumineux en C# et Visual Basic.
- Réduction du délai de permutation entre les configurations de débogage et de mise en production.
- Les opérations permettant d’ajouter, de supprimer et de renommer les fichiers et les dossiers dans les projets .NET Core sont plus rapides.
- Le chargement de solution allégé est déprécié, car le temps de chargement de solutions sans a été réduit.
Services connectés
- Nous avons mis à jour le fournisseur du service Stockage Azure pour permettre la prise en charge des 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 et des arborescences de travail Git, et configurer fetch.prune
et pull.rebase
dans Team Explorer.
Visual Studio traite désormais les sous-modules et les arborescences de travail Git comme des dépôts normaux. Ajoutez-les simplement à votre liste de dépôts locaux et commencez à coder.
Notez que pour les sous-modules, vous ne pouvez toujours pas effectuer d’action qui nécessitent la prise en charge de plusieurs dépôts (par exemple, l’affichage simultané d’un fichier dans le dépôt parent et d’un fichier dans le sous-module).
Par ailleurs, il est désormais plus facile de définir le comportement de Git par défaut pour nettoyer après chaque récupération (fetch) et rebaser après chaque tirage (pull). Le nettoyage après chaque récupération supprime les branches de suivi locales qui n’existent plus sur le serveur et vous permet d’avoir une liste de branches propre et à jour. Le rebasage après chaque tirage vous permet d’avoir un historique de validations linéaire et facile à suivre. Ces options sont disponibles dans les paramètres généraux et du dépôt.
Avis de sécurité pour .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 incorrect peut provoquer un déni de service : il existe une faille de sécurité dans .NET Core 1.0, 1.1 et 2.0 où un certificat incorrect ou d’autres données au format ASN.1 peuvent 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 de CORS peut entraîner la divulgation d’informations. Il existe une faille de sécurité dans ASP.NET Core 1.0 et 1.1 où le partage des ressources cross-origin (CORS) peut être contourné, ce qui conduit à la divulgation d’informations.
CVE-2017-11879 Une redirection ouverte peut entraîner une élévation de privilège. Il existe une faille de sécurité dans ASP.NET Core 2.0 où l’existence d’une redirection ouverte conduit à une élévation de privilège.
CVE-2017-11770 Vulnérabilité de déni de service. Il existe une faille de sécurité dans ASP.NET Core 1.0, 1.1 et 2.0 quand l’application est hébergée par 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 des 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 version 15.5, l’ensemble d’outils du compilateur MSVC de Build Tools a été mis à jour vers la version 14.12, qui est compatible avec l’ensemble d’outils 14.11 de la version 15.4. En cas de problème pendant la compilation de votre code après la mise à niveau vers Visual Studio 2017 version 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 (14.11) de Visual Studio 2017 version 15.4 peut être sélectionné sous l’onglet Composants individuels, après l’installation de la charge de travail C++ Desktop.
Nouveautés du compilateur C#
Le compilateur C# prend désormais en charge le jeu de fonctionnalités de langage 7.2, notamment :
- Prise en charge du type
Span<T>
utilisé dans Kestrel et CoreFX via le modificateurref struct
. - Modificateur
readonly struct
: Fait en sorte que tous les membres d’un struct soientreadonly
. Cela ajoute une couche d’exactitude au code et permet également au compilateur d’éviter la copie inutile des valeurs pendant l’accès aux membres. - Paramètres
in
/ retoursref readonly
: Permet aux structs non modifiables d’être transférés et retournés en toute sécurité avec la même efficacité que les valeursref
modifiables. - Modificateur d’accès
private protected
: Limite l’accès à l’intersection deprotected
etinternal
. - Arguments nommés non placés en position de fin : Les arguments nommés peuvent maintenant être utilisés au milieu d’une liste d’arguments sans que tous les arguments suivants soient passés par nom également.
Visual Studio Tools pour Xamarin
Cette version contient une mise à jour de la prise en charge des SDK Xamarin pour iOS et Android :
Affichage de l’exécution en temps réel
La création d’interfaces utilisateur en XAML est encore plus facile avec notre fonctionnalité Affichage de l'exécution en temps réel (Figure 2). Quand vous créez votre interface utilisateur, vous pouvez la regarder prendre forme au fur et à mesure de votre saisie dans l’émulateur Android sans devoir 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 des appareils iOS et Android. Après avoir téléchargé l’application Xamarin Live Player (disponible dans l’App Store ou Google Play), vous pouvez appairer votre appareil avec Visual Studio et commencer à créer des applications mobiles en utilisant simplement Visual Studio et votre appareil mobile. Optimisé pour Xamarin.Forms, vous pouvez maintenant modifier le code XAML et afficher le résultat des changements en quelques instants sur votre appareil, sans avoir à compiler ou attendre un déploiement complet. Cette version propose de nombreuses améliorations à nos fonctionnalités Xamarin Live, y compris :
- Débogage plus intelligent et exécution temps réel : Live Player adapte désormais automatiquement votre projet de démarrage à la plateforme appropriée pendant le débogage dans Xamarin Live Player (Figure 3). Par exemple, si iOS est sélectionné et que l’appareil Live Player couplé est un Google Pixel, l’IDE vous recommande de changer votre projet de démarrage sur Android.
- État du déploiement : Vous pouvez désormais suivre l’état d’un « Debug » dans Xamarin Live Player à l’aide des états de déploiement dans la barre d’état.
- Intégration de la console et de la fenêtre d’erreur : la sortie journalisée dans l’application s’affiche désormais dans la fenêtre de console, et les erreurs s’affichent dans la fenêtre Erreurs de Visual Studio.
- Menu contextuel et raccourci clavier pour l’exécution temps réel : nous souhaitions vous permettre de visualiser instantanément votre IU XAML, nous avons donc ajouté un menu contextuel et un raccourci clavier pour vous permettre d’afficher rapidement et simplement l’aperçu de vos pages XAML.
- Exécution en temps réel de la permutation de documents : Quand vous générez des IU, il n’est pas rare de basculer d’un document XAML à l’autre. Le changement de document actif dans Visual Studio exécute automatiquement en temps réel la page XAML que vous avez ouverte, vous pouvez donc facilement passer d’une page à l’autre et voir instantanément le résultat sur votre appareil.
Modèles
L’accès à Fichier -> Nouveau projet -> Application mobile (Figure 4) est simplifié grâce aux mises à jour de l’Assistant Modèle multiplateforme pour les applications iOS, Android et Windows, notamment :
- Prise en charge de .NET Standard : Vous pouvez maintenant créer une application Xamarin multiplateforme qui utilise .NET Standard 2.0 comme stratégie de partage de code.
- Case à cocher des plateformes cibles : sélectionnez les plateformes qui vous intéressent dans Fichier :> Nouveau.
PackageReference
: Tous les modèles utilisent maintenant par défautPackageReference
, une nouvelle façon simple de gérer les packages NuGet dans vos applications Xamarin.- Améliorations des performances de dépliage : Les modèles doivent désormais se déplier beaucoup plus rapidement qu’auparavant. Dans les cas les plus extrêmes, vous pouvez constater une durée de dépliage jusqu’à 40 fois plus rapide.
Remoted iOS Simulator
Le simulateur Remoted iOS Simulator vous offre un moyen simple de déboguer et de tester en intégralité des applications iOS sur le simulateur à partir de Visual Studio sur Windows. Il prend en charge tout ce que le simulateur iOS sur Mac peut faire, et plus encore - notamment la prise en charge multipoint ! À compter de Visual Studio 2017 version 15.5, le simulateur Remoted iOS Simulator est disponible dans toutes les éditions Visual Studio, y compris dans l’édition Community gratuite.
Xamarin Android SDK Manager
La gestion de vos SDK Android est beaucoup plus simple avec le nouveau Xamarin Android SDK Manager. Vous pouvez utiliser le nouveau gestionnaire de SDK en accédant à Outils :> Android :> Android SDK Manager dans Visual Studio.
Améliorations des outils F#
Dans Visual Studio 2017 version 15.5, nous nous sommes concentrés sur la prise en charge des outils F# dans les projets du SDK .NET Core. Les actions suivantes sont désormais prises en charge :
- Vous pouvez créer des applications de console .NET Core, des bibliothèques .NET Standard et des projets de test unitaire .NET Core à partir de Fichier > Nouveau projet.
- Nous avons ajouté la prise en charge des projets .NET Core et Standard .NET existants.
- Nous avons ajouté la prise en charge des projets du SDK .NET Core existants qui ciblent une version du .NET Framework.
- Les références entre projets sont prises en charge.
- Nous avons ajouté la prise en charge des projets du SDK web (par exemple, les projets ASP.NET Core F# ou un projet utilisant le modèle Giraffe).
- Vous pouvez maintenant cliquer avec le bouton droit sur les outils de publication dans les projets du SDK web.
- La génération automatique d’un pipeline CI/CD avec les outils Visual Studio Team Services est prise en charge.
Nous avons apporté également de nombreuses améliorations aux outils Visual F# qui ne portent pas sur les projets du SDK .NET Core. Notamment :
- « Atteindre la 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.
- Désormais, les pages de propriétés se redimensionnent automatiquement pour s’adapter à plusieurs moniteurs.
- Mise en retrait automatique intelligente des nouvelles lignes quand la mise en retrait est définie sur « Intelligente », par Duc Nghiem Xuan.
- Annulation automatique de la mise en retrait des crochets de fermeture quand la mise en retrait est définie sur « Intelligente », par Saul Rennison.
- Les champs d’énumération peuvent maintenant être affichés sous forme de symboles dans les info-bulles, Rechercher toutes les références, Accéder à tout et Changement de nom inline, par Vasily Kirichenko.
- Les commentaires documentation XML séparés par des sauts de ligne ne sont pas ajoutés au début du commentaire documentation XML actif durant les pointages, par Vasily Kirichenko.
- La documentation XML pour le mot clé ref a été corrigée par CHBen.
- Plusieurs correctifs de bogues et améliorations de performances.
Envoyez tous les problèmes que vous rencontrez sur notre dépôt GitHub.
Changements dans l’installation de F#
Nous avons changé la façon d’obtenir F# :
- Si vous installez une charge de travail qui nécessite .NET Core 2.0, la prise en charge du langage F# est également installée par défaut. Les charges de travail Azure, ASP.NET et .NET Core l’installent désormais aussi par défaut.
- La case à cocher « Prise en charge du langage F# » dans le développement .NET Desktop, les charges de travail Stockage et traitement de données, Science des données et les charges de travail des applications analytiques ont été renommées « Prise en charge de F# Desktop ».
Améliorations du compilateur F# 4.1
Un certain nombre de bogues ont été corrigés dans le compilateur F# 4.1 dans cette version :
- Améliorations de la génération PDB dans le compilateur F#, correction de cinq problèmes connus dans le débogage de F# remontant à 2014.
- Correction des champs d’enregistrement résolus de manière incorrecte par le compilateur, par Vasily Kirichenko.
StartAsTask
attend désormais correctement la fin de l’annulation, par Matthias Ditrich.- Des références d’assembly sont désormais créées quand un type est utilisé dans un attribut uniquement.
- Les unions discriminées de structs à cas unique avec le même nom de cas ne sont plus converties silencieusement en type d’objet.
- Boucle asynchrone sans fin possible sur
MailboxProcess
. La réception a été corrigée.
Améliorations de Visual C++
Vous pouvez maintenant importer des projets CMake existants et mettre en cache des configurations dans l’IDE via Fichier>Ouvrir>CMake.
Prise en charge de l’ouverture de dossier pour les exportations du compilateur en ligne ARM
Choisissez l’option dans la charge de travail Linux C++ pour les projets incorporés et IoT, et vous pouvez modifier et compiler les projets ciblant des microcontrôleurs ARM. Nous prenons en charge l’ouverture des projets exportés comme GCC à partir du compilateur en ligne ARM. Ces projets peuvent alors être compilés localement dans Visual Studio. Pour plus d’informations, consultez notre blog sur Visual C++ pour le développement ARM.
Tâches à distance
L’ouverture de dossier prend désormais en charge les tâches à distance. 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 dans le but d’effectuer des opérations comme la compilation du code créé sur un système Linux. Pour plus d’informations, consultez notre billet de blog sur l’utilisation des tâches à distance dans Visual Studio.
Améliorations de la bibliothèque STL (Standard Template Library)
Le site web Open Standards contient un certain nombre de pages pour les groupes qui produisent des normes ouvertes. Nous avons ajouté ces améliorations à la bibliothèque STL pour la norme C++ 17 :
not_fn()
: P0005R4 recommande d’adopter le binder de fonctionnot_fn
de Library Fundamentals TS v2 en remplacement des anciens éléments de négation,not1
etnot2
.- Reformulation de
enable_shared_from_this
: P0033R1Re-enabling shared_from_this
. - Composants de bibliothèque rudimentaires dépréciés : P0174R2. Un certain nombre de fonctionnalités de la bibliothèque C++ Standard ont été dépassées par des ajouts au fil des années, ou nous nous sommes rendu compte qu’elles ne remplissaient pas leur fonction initialement désignée. Ce document proposait des fonctionnalités dépréciées là où des options plus simples ou plus claires étaient disponibles.
- Suppression de la prise en charge d’un allocateur dans
std::function
: P0302R1. Le modèle de classe std::function a plusieurs constructeurs qui acceptent un argument d’allocateur, mais la sémantique est complexe et des problèmes techniques affectent non seulement le stockage d’un allocateur dans un contexte de type effacé, mais aussi la récupération de cet allocateur par la suite pour toutes les allocations nécessaires pendant l’assignation de copie. Ces constructeurs doivent être supprimés. - Corrections apportées à
not_fn()
: P0358R1. La nouvelle formulation destd::not_fn
proposée permet, entre autres améliorations, de prendre en charge la propagation de la catégorie de valeur quand un wrapper est appelé. shared_ptr<T[]>
,shared_ptr<T[N]>
: P0414R2. Fusion des modifications apportées àshared_ptr
dans C++17 dans Library Fundamentals.- Correction de
shared_ptr
pour les tableaux : P0497R0. Corrections de la prise en charge deshared_ptr
pour les tableaux. - Dépréciation de
shared_ptr::unique()
: P0521R0. Résolution proposée pour CA 14 (shared_ptr use_count/unique
). - Dépréciation de
codecvt
: P0618R0,<codecvt>
n’est pas le meilleur moyen de résoudre le transcodage Unicode, ce composant de bibliothèque doit être déplacé dans l’annexe D. - Suppression des spécifications d’exceptions dynamiques : P0003R5. Les spécifications d’exceptions dynamiques ont été dépréciées dans C++11. Suppression de la fonctionnalité dans C++17, tout en conservant (toujours) la spécification throw() dépréciée utilisée strictement comme un alias de noexcept(true).
- Ajout de mappages et d’ensembles : P0083R3. Cette conception autorise les opérations d’ajout de toutes sortes, le déplacement d’éléments (y compris les clés de carte) hors du conteneur et un certain nombre d’autres opérations et conceptions utiles. Il s’agit d’une amélioration des conteneurs associatifs et des conteneurs associatifs non ordonnés pour prendre en charge la manipulation de nœuds. Il s’agit d’un ajout à la bibliothèque Standard.
- Clarification de
insert_return_type
: P0508R0. Les conteneurs associatifs ou non ordonnés avec des clés uniques ont une fonction membre insert qui retourne un type imbriquéinsert_return_type
. 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 du compilateur Visual C++
Le compilateur Visual C++ prend en charge environ 75 % des fonctionnalités C++17, y compris les liaisons structurées, les expressions lambda constexpr
, if constexpr
, les variables inline, les expressions fold, les littéraux hexfloat et l’ajout de noexcept
au système de type. Ces fonctionnalités sont disponibles avec le commutateur /std:c++17
. Le mode de conformité /permissive-
inclut la prise en charge partielle de la recherche de nom en deux phases et l’amélioration de la prise en charge de l’expansion de package pour les modèles variadiques. Par ailleurs, le mode /permissive-
a été ajouté sous forme d’un nouveau menu déroulant de langage dans les propriétés de projet des projets C++.
Améliorations de 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.
Exemples d’améliorations de l’éditeur de liens :
- L’implémentation de
/OPT:ICF
est nouvelle et plus rapide : accélération jusqu’à 9 % de la durée d’édition des liens. - Nous avons corrigé la liaison incrémentielle. La liaison incrémentielle ne sera jamais plus lente que la liaison complète.
Exemples d’améliorations des optimisations existantes :
- Nous avons amélioré l’heuristique du vectoriseur pour les expressions conditionnelles.
- Nous avons amélioré l’optimisation de
loop-if-unswitching
. - Nous avons amélioré le déroulement des boucles.
- Nous avons amélioré le codegen avec des valeurs float min/max.
Exemples de nouvelles optimisations :
- Nous avons amélioré et éliminé les instructions redondantes (et partiellement redondantes) de l’optimiseur SSA.
- Nous avons optimisé la vectorisation des magasins scalaires conditionnels.
- Nous avons combiné les appels
sin(x)
etcos(x)
ensincos(x)
.
Visual C++ prend en charge AVX-512 d’Intel, y compris les instructions Vector Length qui apportent de nouvelles fonctions dans AVX-512 pour les registres de largeur 128 bits et 256 bits.
Nous intégrons plus de 20 nouvelles vérifications C++ Core Guidelines dans l’analyse du code C++. Ces vérifications portent sur l’exactitude du pointeur intelligent, l’utilisation correcte des initialiseurs globaux et l’utilisation du marquage des constructions comme goto
et bad_cast
.
Certains numéros d’avertissement utilisés dans la version 15.3 ont été supprimés dans la version 15.5. Ces avertissements ont été remplacés par des vérifications plus spécifiques.
Prise en charge intégrée des frameworks Google Test et 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 mettez à niveau une installation précédente de Visual Studio, ouvrez Visual Studio Installer, cliquez sur Modifier dans 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 Desktop en C++. Créez facilement un projet Google Test : sélectionnez Fichier > Nouveau > Projet > Visual C++ > Test > Google Test.
Pour plus d’informations, consultez les pages Guide pratique pour utiliser Google Test pour C++ dans Visual Studio et Guide pratique pour utiliser Boost.Test pour C++ dans Visual Studio sur Microsoft Docs.
Outils web Visual Studio
- La mise en forme de la syntaxe Razor a été améliorée.
- Nous avons amélioré l’expérience de publication des applications ASP.NET sur les machines virtuelles Azure.
Outils des conteneurs Docker
- Les outils de Visual Studio pour les conteneurs Docker prennent désormais en charge les fichiers Dockerfile à plusieurs étapes pour simplifier la création d’images de 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 de conteneur utilisent Windows Server version 1709 par défaut. Vous pouvez changer ce comportement en modifiant le fichier Dockerfile. Notez que les images de conteneur qui utilisent d’anciennes versions 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 tire (pull), génère et exécute automatiquement les images de conteneur nécessaires en arrière-plan quand vous ouvrez un projet qui prend en charge Docker. Vous pouvez désactiver cette option via le paramètre Démarrer automatiquement les conteneurs en arrière-plan dans Visual Studio.
Améliorations de TypeScript/JavaScript
Prise en charge d’Angular 2
Les développeurs d’Angular2 peuvent maintenant voir les erreurs, les achèvements et naviguer dans le code des modèles inline et des fichiers de modèle .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 Options de projet de l’éditeur de texte JavaScript/TypeScript. Cette option améliore les performances et la fiabilité dans les solutions volumineuses. Notez que quand cette case est cochée, vous devez effectuer une génération de solution pour afficher la liste complète des erreurs TypeScript dans tous les fichiers.
Nous avons corrigé un problème qui obligeait le service de langage TypeScript/JavaScript à utiliser plus de mémoire que prévu et pouvait entraîner le chargement d’une version incorrecte de TypeScript dans les solutions multiprojets.
Outils Windows Communication Foundation (WCF)
Le fournisseur de service connecté de la Référence du service web WCF(Figure 5) fait désormais partie de Visual Studio 15.5.
Pour utiliser cet outil, cliquez avec le bouton droit sur l’élément de projet Dépendances dans votre projet .Net Core et sélectionnez l’option Ajouter un service connecté, puis entrez l’adresse du service web pour lequel vous voulez 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. Ainsi, votre code .NET Core peut communiquer facilement avec le service web.
Consultez les notes de publication dans GitHub de la référence du service web WCF pour plus d’informations.
Débogage et diagnostics
Déboguer des applications en production avec le débogueur d’instantané
Vous pouvez maintenant utiliser des Points d’ancrage et points de journalisation pour déboguer des applications ASP.NET et ASP.NET Core exécutées dans Azure App Services avec un impact minimal sur l’application.
- Définissez des points d’ancrage (Figure 6) pour capturer l’état de votre application, notamment les variables locales, les espions et la pile des appels. Contrairement aux points d’arrêt, votre application ne s’arrête pas quand un point d’ancrage est atteint.
- Utilisez des points de journalisation (Figure 7) pour journaliser les nouveaux messages de votre application sans avoir à ajouter du code ou à redéployer votre application.
Prise en charge de la source incorporée et des PDB incorporés
Avec la source incorporée, le débogueur Visual Studio peut maintenant extraire et utiliser les fichiers sources de fichiers binaires managés directement à partir des fichiers PDB. Combinez la source incorporée et le fichier PDB incorporé pour créer des fichiers binaires autonomes pouvant être débogués. Découvrez plus d’informations sur l’utilisation du commutateur de compilateur /embed.
Vous pouvez désormais déboguer du code managé à l’aide de Modifier et continuer quand vous effectuez la génération avec des fichiers PDB incorporés.
Revenir en arrière pendant le débogage avec IntelliTrace
Avec la nouvelle fonctionnalité de débogage avec retour en arrière, IntelliTrace prend automatiquement un instantané de votre application à chaque étape de point d’arrêt et de débogueur. Cela vous permet de revenir aux étapes ou aux points d’arrêt précédents et de voir l’état de l’application comme elle était avant.
Cette fonctionnalité est disponible dans la Mise à jour anniversaire Windows 10 et les versions ultérieures, et prend actuellement en charge le débogage des applications de console managées ASP.NET, WinForms et WPF, et les bibliothèques de classes managées (Figure 8). Pour activer la fonctionnalité, accédez à Outils>Options>Paramètres IntelliTrace, puis sélectionnez Événements et instantanés IntelliTrace.
Accès à partir de Visual Studio aux ressources Azure avec l’accès conditionnel activé
Visual Studio prend désormais en charge l’accès aux ressources Azure qui ont l’accès conditionnel activé, lequel vous oblige à vous authentifier avec l’authentification à deux facteurs (2FA), même si votre compte ne nécessite pas 2FA. Auparavant, si votre compte nécessitait 2FA pour se connecter, Visual Studio proposait 2FA et vous pouviez accéder à toutes les ressources qui nécessitaient 2FA. Toutefois, si votre compte n’avait pas besoin de 2FA, Visual Studio ne pouvait pas accéder à ces ressources 2FA.
Désormais, quand les comptes ne nécessitent pas 2FA contrairement aux ressources, vous pouvez authentifier votre compte dans Visual Studio sans 2FA. Quand vous essayez ensuite d’accéder pour la première fois à une ressource Azure qui nécessite 2FA, Visual Studio vous invite à vous réauthentifier et impose une authentification 2FA pour vous permettre d’accéder à vos ressources.
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.
- La version Fall Creators Update (version 1709) de 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. Génération d’un projet Player quand vous travaillez sur un jeu UWP avec le backend IL2CPP/.NET 4.6.
- Introduction d’une option pour utiliser le débogueur Mono partagé par Xamarin et Visual Studio pour Mac afin de déboguer l’éditeur Unity.
Live Unit Testing
- Les builds de Live Unit Testing s’effectuent désormais hors processus pour améliorer l’utilisation de la mémoire dans Visual Studio.
Empaquetage Windows
Dans le projet de création de packages, il est désormais possible d’inclure les applications et composants UWP qui vous aideront à tirer parti des dernières fonctionnalités Windows 10 à partir de vos applications de bureau existantes. Pour inclure des composants UWP, vous pouvez Add Reference
à l’application UWP (Figure 9).
Vous pouvez utiliser l’Assistant Package du store pour générer les fichiers dont vous avez besoin pour soumettre votre application Pont du bureau au Store, comme avec les projets UWP existants.
Visual Studio 2017 version 15.5.1
Publication : 7 décembre 2017
Principaux problèmes corrigés dans la version 15.5.1
Voici les problèmes signalés par des clients et résolus dans cette version :
- Version de
xamarin.forms
incorrecte référencée dans le modèle. - Le changement de branches dans Git interrompt IntelliSense.
- Erreurs signalées de manière injustifiée (projets Visual Basic).
- Xamarin prend désormais en charge Xcode 9.2 :
- Cela résout les problèmes signalés par les clients concernant les plans conceptuels et le simulateur à distance.
Visual Studio 2017 version 15.5.2
Publication : 14 décembre 2017
Principaux problèmes corrigés dans la version 15.5.2
Voici les problèmes signalés par des clients et résolus dans cette version :
- Impossible de générer des projets Xamarin Android car
R$anim.class
est en cours d’utilisation. - Impossible de charger le package
MonoAndroidDesignerPackage
. - Crypto ++ avec les optimisations par défaut tombe dans une compilation infinie lors d’une tentative d’optimisation de blake2.cpp.
- La migration de VS2017 15.4 vers 15.5 entraîne l’erreur CS026 - "Le nom de type ou d'espace de noms XXX est introuvable...".
- L’installation de Visual Studio 2017 Community 15.5 avec
Option Strict On
crée des erreurs Intellisense dans les projets VB. - Durée de compilation infinie lors d’une tentative d’optimisation de blake2.cpp.
- Plantage du moteur aléatoire dans l’optimiseur VS 15.5.
- Impossible de compiler la migration vers VS 15.5 (à partir de 15.4)
mhook:disasm_x86.c
. - Unity + la nouvelle installation de VS Community 15.5 aboutit à un espace de noms non reconnu.
Visual Studio 2017 version 15.5.3
Publication : 9 janvier 2018
Récapitulatif des mises à jour dans la version 15.5.3
Avis de sécurité Microsoft pour .NET Core
CVE-2018-0786 Suite au contournement de la fonctionnalité de sécurité lors de la validation de certificats X509 Microsoft, cet avis de sécurité est publié pour fournir des informations sur une vulnérabilité dans les versions publiques de .NET Core 1.0, 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 Suite au déni de service lors de l’analyse de documents XML Microsoft, cet avis de sécurité est publié pour fournir des informations sur une vulnérabilité dans les versions publiques de .NET Core 1.0, 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 corrigés dans la version 15.5.3
Voici les problèmes signalés par des clients et résolus dans cette version :
- Erreur C3821 dans
xlocale
C++/clr. - L’utilisation d’un en-tête dans la section de code non managé d’un projet C++/CLI ne permet plus de générer.
- VS2017 avec WDK 10 échoue pendant le provisionnement à distance pour le mode noyau.
- Visual Studio Tools for Unity n’arrive pas à convertir les symboles de débogage après la mise à niveau vers VS 15.5.
- Retrouvez de nouvelles informations relatives aux avis de sécurité Microsoft pour .NET Core.
Visual Studio 2017 version 15.5.4
Publication : 16 janvier 2018
Principaux problèmes corrigés dans la version 15.5.4
Voici les problèmes signalés par des clients et résolus dans cette version :
- Le débogueur ne peut pas continuer à exécuter le processus. Opération non prise en charge. Erreur inconnue : 0x9233000b.
- Projets et solutions récents non renseignés une fois exécutés.
- Build complète à chaque fois avec 15.5.
- Des erreurs IntelliSense incorrectes apparaissent toujours dans VS 15.5.2 pour les projets Visual Basic.
- Références VS2017 15.5.2 non résolues quand « Permettre l'initialisation de projets en parallèle » est activé.
- Mise à niveau vers 15.5.2 : lancement ou réparation impossible de Visual Studio.
- Problème d’installation de VS2017.
- Installation impossible en raison de BSoD.
Visual Studio 2017 version 15.5.5
Publication : 25 janvier 2018
Récapitulatif des mises à jour dans la version 15.5.5
- Le compilateur MSVC a été mis à jour pour permettre la prise en charge du commutateur /Qspectre qui insère automatiquement une barrière de spéculation quand le compilateur détecte des instances de la variante Spectre 1. Pour plus d’informations sur /Qspectre, reportez-vous au blog de l’équipe Visual C++.
Principaux problèmes corrigés dans la version 15.5.5
Voici les problèmes signalés par des clients et résolus dans cette version :
- L’application Xamarin lève l’erreur
Cannot access a disposed object. Object name: 'MobileAuthenticatedStream'
. - L’application Xamarin.Android lève
ClassNotFoundException
quand elle dérive de la classeApplication
. - La mise à niveau peut entraîner la désinstallation des kits SDK Windows et Android installés.
- Passez JDK 8 à la dernière version pour éviter les échecs de téléchargement à partir du site Oracle.
Visual Studio 2017 version 15.5.6
Publication : 29 janvier 2018
Récapitulatif des mises à jour dans la version 15.5.6
Visual Studio 2017 version 15.5.7
Publication : 20 février 2018
Récapitulatif 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 corrigés dans la version 15.5.7
Voici les problèmes signalés par des clients et résolus dans cette version :
- Les projets ciblant .NET Core 2.1 ou version ultérieure ne sont pas pris en charge par Visual Studio 2017 version 15.5.
- Résolution du problème où l’installation du Kit de développement logiciel (SDK) pour .NET Core 2.1 ou version ultérieure provoquerait la disparition de la possibilité de créer des applications Web ASP.NET 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.
Passez en revue tous les problèmes connus et les solutions de contournement disponibles dans Visual Studio 2017 version 15.5.
Commentaires et suggestions
Nous sommes à votre écoute ! Pour tout problème, signalez-les en utilisant l’option Signaler un problème en haut à droite du programme d’installation ou de l’IDE Visual Studio. L’icône se trouve en haut à droite. Vous pouvez faire une suggestion de produit ou suivre vos problèmes sur le site Visual Studio Developer Community, où vous pouvez poser des questions, trouver des réponses et proposer de nouvelles fonctionnalités. Vous pouvez également obtenir une aide gratuite pour l’installation via notre support Live Chat.
Blogs
Tirez parti des insights et des recommandations disponibles sur le site Developer Tools Blogs pour rester informé de toutes les nouvelles versions Release et des publications contenant des informations approfondies sur un large éventail de fonctionnalités.
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.