Notes de publication de Visual Studio 2019 version 16.0
Developer Community | Configuration requise | Compatibilité | Code distribuable | Historique des versions | Termes du contrat de licence | Blogs | Documentation sur les nouveautés de Visual Studio
Remarque
Il ne s’agit pas de la dernière version de Visual Studio. Pour télécharger la dernière version, consultez le site Visual Studio.
Nouveautés dans Visual Studio 2019 version 16.0
Délai de prise en charge
Visual Studio 2019 version 16.0 n’est désormais plus pris en charge.
Les utilisateurs de la version Enterprise et Professional de Visual Studio 2019 version 16.0 étaient pris en charge et recevaient des correctifs pour les vulnérabilités de sécurité jusqu’en janvier 2021. Ce délai a été déterminé par le fait qu’en décembre 2019, Visual Studio 2019 version 16.4 a été désigné comme ligne de base de maintenance finale pour le produit Visual Studio 2019. Pour plus d’informations sur les lignes de base prises en charge par Visual Studio, consultez la stratégie de support pour Visual Studio 2019.
Reportez-vous à la dernière version des notes de publication ou accédez au site Visual Studio pour télécharger la dernière version de Visual Studio 2019 prise en charge.
Mises en production Visual Studio 2019 version 16.0
- 12 janvier 2021 – (Version finale) Visual Studio 2019 version 16.0.22
- 8 décembre 2020 – Visual Studio 2019 version 16.0.21
- 10 novembre 2020 – Visual Studio 2019 version 16.0.20
- 13 octobre 2020 – Visual Studio 2019 version 16.0.19
- 8 septembre 2020 – Visual Studio 2019 version 16.0.18
- 11 août 2020 – Visual Studio 2019 version 16.0.17
- 14 juillet 2020 Visual Studio 2019 version 16.0.16
- 9 juin 2020 – Visual Studio 2019 version 16.0.15
- 12 mai 2020 – Visual Studio 2019 version 16.0.14
- 14 avril 2020 – Visual Studio 2019 version 16.0.13
- 10 mars 2020 – Visual Studio 2019 version 16.0.12
- 14 janvier 2020 – Visual Studio 2019 version 16.0.11
- 10 décembre 2019 – Visual Studio 2019 version 16.0.10
- 15 octobre 2019 – Visual Studio 2019 version 16.0.9
- 10 septembre 2019 – Visual Studio 2019 version 16.0.8
- 13 août 2019 – Visual Studio 2019 version 16.0.7
- 9 juillet 2019 – Visual Studio 2019 version 16.0.6
- 11 juin 2019 – Visual Studio 2019 version 16.0.5
- 14 mai 2019 – Visual Studio 2019 version 16.0.4
- 30 avril 2019 – Visual Studio 2019 version 16.0.3
- 18 avril 2019 – Visual Studio 2019 version 16.0.2
- 9 avril 2019 – Visual Studio 2019 version 16.0.1
- 2 avril 2019 – Visual Studio 2019
Blog Visual Studio 2019
Le blog Visual Studio 2019 est la source officielle où l’équipe d’ingénierie de Visual Studio partage des insights sur le produit. Vous y trouverez des informations détaillées sur les versions de Visual Studio 2019.
Visual Studio 2019 version 16.0.22
Publication : 12 janvier 2020
Avis de conseil de sécurité pour 16.0.22
CVE-2021-1651 / CVE-2021-1680 Vulnérabilité d’élévation de privilèges du service Collecteur standard du hub de diagnostics
Une vulnérabilité avec élévation de privilège existe quand le service Collecteur standard du hub de diagnostic ne gère pas correctement les opérations de données.
CVE-2020-26870 Vulnérabilité liée à l’exécution de code à distance de Visual Studio Installer
Une vulnérabilité liée à l’exécution de code à distance existe lorsque Visual Studio Installer tente d’afficher du code markdown malveillant.
Visual Studio 2019 version 16.0.21
Publication : 8 décembre 2020
Avis de conseil de sécurité pour 16.0.21
CVE-2020-17156 Vulnérabilité liée à l’exécution de code à distance de Visual Studio
Une vulnérabilité d’exécution de code à distance existe lorsque Visual Studio clone un référentiel malveillant.
Visual Studio 2019 version 16.0.20
Publication : 10 novembre 2020
Avis de conseil de sécurité pour 16.0.20
CVE-2020-17100 Vulnérabilité de falsification de Visual Studio
Une vulnérabilité de falsification existe lorsque Python Tools pour Visual Studio crée le dossier python27. Un attaquant parvenant à exploiter cette vulnérabilité pourrait exécuter des processus dans un contexte élevé.
Visual Studio 2019 version 16.0.19
Publication : 13 octobre 2020
Dans cette version de 16.0.19
- SDK .NET Code 2.1.616 ajouté à Visual Studio 2019.
Visual Studio 2019 version 16.0.18
Publication : 8 septembre 2020
Problème résolu dans 16.0.18
- Les versions de .NET Core qui ne sont plus supportées ne seront plus réinstallées lors d’une réparation ou d’une mise à niveau si elles ont été supprimées en dehors du programme d’installation de Visual Studio.
Avis de sécurité pour 16.0.18
CVE-2020-1130 Vulnérabilité liée à l’élévation de privilèges du Collecteur standard du hub de diagnostic
Une vulnérabilité avec élévation de privilège existe quand le service Collecteur standard du hub de diagnostic ne gère pas correctement les opérations de données. Un attaquant parvenant à exploiter cette vulnérabilité pourrait exécuter des processus dans un contexte élevé.
CVE-2020-1133 Vulnérabilité liée à l’élévation de privilèges du Collecteur standard du hub de diagnostic
Une vulnérabilité avec élévation de privilège existe quand le Collecteur standard du hub de diagnostic ne gère pas correctement les opérations de fichiers. Un attaquant parvenant à exploiter cette vulnérabilité pourrait exécuter des processus dans un contexte élevé.
CVE-2020-16856 Vulnérabilité liée à l’exécution de code à distance de Visual Studio
Une vulnérabilité d’exécution de code à distance existe dans Visual Studio quand il gère de manière incorrecte des objets en mémoire. Un attaquant qui parvient à exploiter cette vulnérabilité peut exécuter du code arbitraire dans le contexte de l’utilisateur actuel.
CVE-2020-16874 Vulnérabilité liée à l’exécution de code à distance de Visual Studio
Une vulnérabilité d’exécution de code à distance existe dans Visual Studio quand il gère de manière incorrecte des objets en mémoire. Un attaquant qui parvient à exploiter cette vulnérabilité peut exécuter du code arbitraire dans le contexte de l’utilisateur actuel.
CVE-2020-1045 Vulnérabilité permettant de contourner les fonctionnalités de sécurité dans Microsoft ASP.NET Core
Il existe dans Microsoft ASP.NET Core une vulnérabilité qui permet de contourner les fonctionnalités de sécurité et qui est due à la manière dont les noms de cookies encodés sont analysés. L’analyseur de cookie ASP.NET Core décode les chaînes de cookie entières, ce qui peut permettre à un attaquant de définir un deuxième cookie dont le nom est encodé en pourcentage.
Visual Studio 2019 version 16.0.17
mise en production le 11 août 2020
Problème résolu dans 16.0.17
Avis de sécurité pour 16.0.17
CVE-2020-1597 Vulnérabilité de déni de service dans ASP.NET Core
Il existe une vulnérabilité de déni de service quand ASP.NET Core gère incorrectement les requêtes web. Un attaquant qui parvenait à exploiter cette vulnérabilité pouvait provoquer un déni de service sur une application web ASP.NET Core. La vulnérabilité peut être exploitée à distance, sans authentification.
Visual Studio 2019 version 16.0.16
publication : 14 juillet 2020
Problèmes corrigés dans la version 16.0.16
- Correction du bogue Régression du CodeGen du compilateur pour l’appel d’une fonction virtuelle avec v15.9
- Correction d’un bogue dans l’éditeur de liens où il manquait des importations lors de l’utilisation de bibliothèques Umbrella avec une casse différente sur le suffixe du nom de la DLL.
- Correction d’un bogue dans le compilateur C++ ARM64 où les valeurs incorrectes pouvaient être restaurées après setjmp.
Avis de sécurité pour 16.0.16
CVE-2020-1393 Vulnérabilité d’élévation de privilège du service Collecteur standard du hub de diagnostic
Une vulnérabilité d’élévation de privilège existe quand le Service Collecteur standard du concentrateur de diagnostic Windows ne parvient pas à assainir correctement l’entrée, causant un comportement de charge de bibliothèque non sécurisé.
CVE-2020-1416 Vulnérabilité d’élévation de privilèges de Visual Studio
Une vulnérabilité d’élévation de privilèges existe dans Visual Studio quand il charge des dépendances logicielles.
CVE-2020-1147 Vulnérabilité de déni de service .NET Core
Un attaquant distant non authentifié pouvait exploiter cette vulnérabilité en émettant des requêtes spécialement conçues pour une application ASP.NET Core ou une autre application qui analyse certains types de code XML. La mise à jour de sécurité corrige la vulnérabilité en restreignant les types qui peuvent être présents dans la charge utile XML.
Visual Studio 2019 version 16.0.15
Publication : 9 juin 2020
Problèmes corrigés dans la version 16.0.15
Avis de sécurité pour 16.0.15
CVE-2020-1108 / CVE-2020-1108Vulnérabilité de déni de service dans .NET Core
Pour corriger totalement l’avis CVE-2020-1108, Microsoft a publié des mises à jour pour .NET Core 2.1 et .NET Core 3.1. Les clients qui utilisent l’une de ces versions de .NET Core doivent installer la dernière version de .NET Core. Consultez les notes de publication pour obtenir les derniers numéros de version et les dernières instructions de mise à jour de .NET Core.
CVE-2020-1202 / CVE-2020-1203 Vulnérabilité d’élévation de privilèges du service Collecteur standard du hub de diagnostics
Une vulnérabilité d’élévation de privilège existe lorsque le collecteur standard du hub de diagnostic ou le collecteur standard de Visual Studio ne parvient pas à gérer correctement les objets en mémoire.
CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 Vulnérabilité d’élévation de privilèges du service Collecteur standard du hub de diagnostics
Une vulnérabilité avec élévation de privilège existe lorsque le service Collecteur standard du hub de diagnostic ne gère pas correctement les opérations de fichiers
Visual Studio 2019 version 16.0.14
Publication : 12 mai 2020
Problèmes corrigés dans la version 16.0.14
- Ajout d’un changement qui permet aux administrateurs informatiques et aux ingénieurs de déploiement en entreprise de configurer des outils comme le client Microsoft Update et SCCM pour déterminer si les mises à jour de VS2019 16.0 hébergées sur Microsoft Update Catalog et WSUS peuvent être appliquées.
Avis de sécurité pour 16.0.14
CVE-2020-1108 Vulnérabilité de déni de service .NET Core
Un attaquant distant non authentifié pouvait exploiter cette vulnérabilité en émettant des requêtes spécialement conçues pour l’application .NET Core. La mise à jour de sécurité élimine la vulnérabilité en corrigeant la façon dont l’application web .NET Core gère les requêtes web.
Visual Studio 2019 version 16.0.13
Publication : 14 avril 2020
Avis de sécurité pour 16.0.13
CVE-2020-0899Vulnérabilité d’élévation de privilèges Microsoft Visual Studio
Une vulnérabilité d’élévation de privilèges existe quand le service de mise à jour de Microsoft Visual Studio gère de manière incorrecte les autorisations sur les fichiers. Une personne malveillante qui parvient à exploiter cette vulnérabilité pourrait remplacer le contenu d’un fichier arbitraire dans le contexte de sécurité du système local.
CVE-2020-0900Vulnérabilité d’élévation de privilèges liée au service d’installation des extensions Visual Studio
Une vulnérabilité d’élévation de privilèges existe quand le service d’installation des extensions Visual Studio gère les opérations sur les fichiers de manière incorrecte. Un attaquant parvenant à exploiter la vulnérabilité peut supprimer des fichiers dans des emplacements arbitraires avec des autorisations élevées.
CVE-2020-5260Vulnérabilité liée à la fuite d’informations d’identification de Git pour Visual Studio due à une validation insuffisante sur les URL
Une vulnérabilité liée à la fuite d’informations d’identification existe quand des URL spécialement conçues sont analysées et envoyées à des applications d’assistance des informations d’identification. Cela peut entraîner l’envoi d’informations d’identification à un hôte incorrect.
Visual Studio 2019 version 16.0.12
Publication : 10 mars 2020
Problèmes corrigés dans la version 16.0.12
- Dans la préversion de VS 2019, vcruntime.h entraîne l’avertissement RC4011
- Nouvelles options d’atténuation des risques liés à Spectre dans le compilateur C++ : /Qspectre-load et /Qspectre-load-cf pour le renforcement du chargement spéculatif.
Avis de sécurité Microsoft
CVE-2020-0793 et CVE-2020-0810 Vulnérabilité d’élévation de privilège du service Collecteur standard du hub de diagnostic
Une vulnérabilité d’élévation de privilège existe quand le Collecteur standard du hub de diagnostic gère mal les opérations sur les fichiers ou que le Service Collecteur standard du concentrateur de diagnostic Windows ne parvient pas à assainir correctement l’entrée.
CVE-2020-0884 Vulnérabilité d’usurpation d’identité pendant la création d’un complément Outlook Web
CVE-2020-0789 Vulnérabilité de déni de service liée au service d’installation des extensions Visual Studio
Visual Studio 2019 version 16.0.11
Publication : 14 janvier 2020
Avis de sécurité Microsoft
CVE-2020-0602 Vulnérabilité de déni de service dans ASP.NET Core
Un attaquant distant non authentifié pouvait exploiter cette vulnérabilité en émettant des requêtes spécialement conçues pour l’application ASP.NET Core. La mise à jour de sécurité élimine la vulnérabilité en corrigeant la façon dont l’application web ASP.NET Core gère les requêtes web.
CVE-2020-0603 Vulnérabilité d’exécution de code à distance dans ASP.NET Core
Un attaquant distant non authentifié pouvait exploiter cette vulnérabilité en émettant des requêtes spécialement conçues pour l’application ASP.NET Core. La mise à jour de sécurité élimine la vulnérabilité en corrigeant la façon dont l’application web ASP.NET Core gère les objets en mémoire.
Visual Studio 2019 version 16.0.10
publication le 10 décembre 2019
Problèmes corrigés dans la version 16.0.10
Avis de sécurité Microsoft
CVE-2019-1349 Vulnérabilité liée à l’exécution à distance de Git pour Visual Studio en raison de restrictions trop faibles sur les noms de sous-modules
Il existe une vulnérabilité liée à l’exécution de code à distance quand Git rencontre des collisions de noms de sous-modules pour des répertoires de sous-modules frères. Une personne malveillante parvenant à exploiter cette vulnérabilité pourrait exécuter à distance du code sur l’ordinateur cible. La mise à jour de sécurité corrige la vulnérabilité en prenant une nouvelle version de Git pour Windows qui exige que le répertoire du clone des sous-modules soit vide.
CVE-2019-1350 Vulnérabilité liée à l’exécution à distance de Git pour Visual Studio en raison de la mise entre guillemets incorrecte d’arguments de ligne de commande
Il existe une vulnérabilité liée à l’exécution de code à distance quand Git interprète des arguments de ligne de commande avec des guillemets au cours d’un clonage récursif conjointement avec des URL SSH. Une personne malveillante parvenant à exploiter cette vulnérabilité pourrait exécuter à distance du code sur l’ordinateur cible. La mise à jour de sécurité corrige la vulnérabilité en prenant une nouvelle version de Git pour Windows qui résout le problème.
CVE-2019-1351 Vulnérabilité liée au remplacement de fichier arbitraire dans Git pour Visual Studio en raison de l’utilisation de noms de lecteurs non composés de lettres lors du clonage
Il existe une vulnérabilité liée au remplacement de fichier arbitraire dans Git quand les noms de lecteurs non composés de lettres contournent les contrôles de sécurité dans git clone
. Une personne malveillante parvenant à exploiter cette vulnérabilité pourrait écrire dans des fichiers arbitraires sur l’ordinateur cible. La mise à jour de sécurité corrige la vulnérabilité en prenant une nouvelle version de Git pour Windows qui résout le problème.
CVE-2019-1352 Vulnérabilité liée à l’exécution à distance de Git pour Visual Studio en raison de la non-prise en charge des autres flux de données NTFS
Il existe une vulnérabilité liée à l’exécution de code à distance dans Git lors du clonage et de l’écriture dans le répertoire .git par le biais des autres flux de données NTFS. Une personne malveillante parvenant à exploiter cette vulnérabilité pourrait exécuter à distance du code sur l’ordinateur cible. La mise à jour de sécurité corrige la vulnérabilité en prenant une nouvelle version de Git pour Windows qui a été informée des autres flux de données NTFS.
CVE-2019-1354 Vulnérabilité liée au remplacement de fichier arbitraire dans Git pour Visual Studio en raison de l’absence de refus d’écrire des fichiers suivis contenant des barres obliques inverses
Il existe une vulnérabilité liée au remplacement de fichier arbitraire dans Git selon laquelle des entrées d’arborescence avec des barres obliques inverses et des liens symboliques malveillants pourraient sortir de l’arbre de travail. Une personne malveillante parvenant à exploiter cette vulnérabilité pourrait écrire dans des fichiers arbitraires sur l’ordinateur cible. La mise à jour de sécurité corrige la vulnérabilité en prenant une nouvelle version de Git pour Windows qui n’autorise pas cette utilisation des barres obliques inverses.
CVE-2019-1387 Vulnérabilité liée à l’exécution à distance de Git pour Visual Studio en raison d’une validation trop faible des noms de sous-modules dans les clones récursifs
Il existe une vulnérabilité liée à l’exécution de code à distance dans Git lors du clonage de manière récursive avec des sous-modules. Une personne malveillante parvenant à exploiter cette vulnérabilité pourrait exécuter à distance du code sur l’ordinateur cible. La mise à jour de sécurité corrige la vulnérabilité en prenant une nouvelle version de Git pour Windows qui renforce la validation des noms des sous-modules.
CVE-2019-1486 Vulnérabilité liée à la redirection d’URL Live Share
Une vulnérabilité liée à l’usurpation d’identité a été détectée dans l’extension Visual Studio Live Share, quand un invité connecté à une session Live Share a été redirigé vers une URL arbitraire spécifiée par l’hôte de session. Une personne malveillante aurait pu exploiter cette vulnérabilité et forcer l’ordinateur de l’invité à ouvrir un navigateur et à accéder à une URL malveillante sans consentement explicite. Cela faisait partie de la fonctionnalité « Serveur partagé » de Live Share qui autorisait le transfert automatique des ports pendant une session Live Share active. La dernière mise à jour corrige cette vulnérabilité en invitant l’invité Live Share à donner son consentement avant d’accéder à l’URL spécifiée par l’hôte.
Visual Studio 2019 version 16.0.9
Publication : 15 octobre 2019
Avis de sécurité Microsoft
CVE-2019-1425Vulnérabilité liée à l’élévation des privilèges avec les packages NPM (publication : 12 novembre 2019)
Il existe une vulnérabilité liée à l’élévation des privilèges lorsque Visual Studio ne parvient pas à valider correctement les liaisons permanentes lors de l’extraction des fichiers archivés. Ces vulnérabilités sont dues aux packages NPM qui sont utilisés par Visual Studio. Pour plus d’informations, consultez dans les deux avertissements NPM suivants : npmjs.com/advisories/803 et npmjs.com/advisories/886. Les versions mises à jour de ces packages NPM sont incluses dans cette version de Visual Studio.
Visual Studio 2019 version 16.0.8
Publication : 10 septembre 2019
Problèmes corrigés dans Visual Studio 2019 version 16.0.8
- L’assembly ne correspond pas au code pour la fonction
- Visual Studio cesse de répondre lors de la création d’un projet SSIS
- Correction du problème où l’interface utilisateur se fige après une utilisation prolongée de l’éditeur.
Avis de sécurité Microsoft
CVE-2019-1232 Vulnérabilité d’élévation de privilège du service Collecteur standard du hub de diagnostic
On parle de vulnérabilité d’élévation de privilège quand le service Collecteur standard du hub de diagnostic n’emprunte pas correctement l’identité de certaines opérations de fichiers. Un attaquant parvenant à exploiter cette vulnérabilité peut obtenir des privilèges élevés. Un attaquant disposant d’un accès sans privilège à un système vulnérable pourrait exploiter cette vulnérabilité. La mise à jour de sécurité corrige la vulnérabilité en garantissant que le service Collecteur standard du hub de diagnostic emprunte correctement l’identité des opérations de fichiers.
Visual Studio 2019 version 16.0.7
Date de publication : 13 août 2019
Corrections des problèmes dans Visual Studio 2019 version 16.0.7
- Correction d’une régression de niveau de performance survenue lors de l’accès au point d’arrêt et de son exécution pas à pas.
- Correction d’une régression de niveau de performance survenue lors du démarrage d’IntelliTrace. exe.
- Correction d’un bogue provoquant un incident lorsqu’il était impossible d’accéder au TFS.
- Correction de l’erreur de build HRESULT E_FAIL de certains projets C++ lors de la mise à niveau vers la version 16.0.1
Avis de sécurité Microsoft
CVE-2019-1211 Git pour vulnérabilité d’élévation de privilèges Visual Studio
Une vulnérabilité d’élévation de privilèges existe dans Git pour Visual Studio lorsque l’analyse des fichiers de configuration n’est pas correctement effectuée. Un attaquant qui parvient à exploiter cette vulnérabilité peut exécuter du code dans le contexte d’un autre utilisateur local. Pour exploiter cette vulnérabilité, un attaquant authentifié doit modifier les fichiers de configuration Git sur un système avant une installation complète de l’application. L’attaquant doit ensuite convaincre un autre utilisateur du système d’exécuter des commandes Git précises. La mise à jour résout le problème en redéfinissant les autorisations requises pour modifier les fichiers de configuration.
**CVE-2019-1301 : Vulnérabilité de déni de service dans .NET Core
Il existe une vulnérabilité de déni de service quand .NET Core 2.1 gère incorrectement les requêtes web. Un attaquant qui parvenait à exploiter cette vulnérabilité pouvait provoquer un déni de service sur une application web .NET Core. La vulnérabilité peut être exploitée à distance, sans authentification.
La mise à jour élimine la vulnérabilité en corrigeant la façon dont l’application web .NET Core gèrent les requêtes web.
Visual Studio 2019 version 16.0.6
Date de publication : 9 juillet 2019
Corrections des problèmes dans Visual Studio 2019 version 16.0.6
- Correction de la prise en charge du narrateur sur les systèmes s’exécutant sur Windows 10 version 1903 ou avec .NET 4.8 installé.
Avis de sécurité Microsoft
CVE-2019-1075 Vulnérabilité d’usurpation d’identité dans ASP.NET Core
Des mises à jour de .NET Core sont publiées aujourd’hui et sont incluses dans cette mise à jour de Visual Studio. Cette version résout des problèmes de sécurité et d’autres problèmes importants. Pour plus d’informations, consultez les notes de publication de .NET Core.
CVE-2019-1077 Vulnérabilité de la mise à jour automatique de l’extension Visual Studio
Une vulnérabilité d’élévation de privilèges apparaît quand le processus de mise à jour automatique de l’extension Visual Studio n’effectue pas correctement certaines opérations de fichier. Un attaquant parvenant à exploiter cette vulnérabilité peut supprimer des fichiers dans des emplacements arbitraires. Pour tirer parti de cette vulnérabilité, l’attaquant a besoin d’un accès sans privilège à un système vulnérable. La mise à jour de sécurité résout cette vulnérabilité en sécurisant les emplacements où la mise à jour automatique de l’extension Visual Studio effectue des opérations de fichier.
CVE-2019-1113 La désérialisation WorkflowDesigner XOML permet l’exécution de code
Un fichier XOML faisant référence à certains types peut entraîner l’exécution de code aléatoire quand le fichier XOML est ouvert dans Visual Studio. Il existe désormais une restriction sur les types qui peuvent être utilisés dans les fichiers XOML. Si un fichier XOML contenant l’un des types récemment non autorisés est ouvert, un message s’affiche, expliquant que le type n’est pas autorisé.
Pour plus d’informations, voir https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.
Visual Studio 2019 version 16.0.5
Publication : 11 juin 2019
Corrections des problèmes dans Visual Studio 2019 version 16.0.5
- Problème connu résolu : Aucun instantané créé pour le code natif C++ dans l’outil Utilisation de la mémoire de la fenêtre Outils de diagnostic pendant le débogage.
- Amélioration des problèmes de performances au chargement de Visual Studio.
Visual Studio 2019 version 16.0.4
Publication : 14 mai 2019
Problèmes résolus dans Visual Studio 2019 version 16.0.4
- Joindre à l’invite iis pour joindre plusieurs fois.
- Applications WPF rompues après la mise à jour du microprogramme 4.8.
- L’installation de typescript 3.3 désactive la compilation de la version 2.2.
- Impossible de joindre le débogueur lors de l’attachement de plusieurs projets de démarrage sur Visual Studio 2019.
- Problème connu : L’onglet Application des pages de propriétés d’un projet VB est incorrect lors de l’installation de .NET Framework 4.8 Developer Pack.
- Échec possible de l’installation des extensions Visual Studio lors de la tentative de remplacement des fichiers de base NuGet.
- Fichier microsoft.diagnosticshub.dotnetobjectalloc.vsix manquant dans le programme d’installation en mode hors connexion.
Avis de sécurité Microsoft
CVE-2019-0727 Vulnérabilité liée à l’élévation de privilèges du service de collecteur standard du hub de diagnostic
Une vulnérabilité avec élévation de privilèges apparaît lorsque le service de collecteur standard du hub de diagnostic n’effectue pas correctement certaines opérations de fichiers. Un attaquant parvenant à exploiter cette vulnérabilité peut supprimer des fichiers dans des emplacements arbitraires. Pour tirer parti de cette vulnérabilité, l’attaquant a besoin d’un accès sans privilège à un système vulnérable. La mise à jour de sécurité élimine cette vulnérabilité en sécurisant les emplacements où le service de collecteur standard du hub de diagnostic effectue des opérations de fichiers.
Visual Studio 2019 version 16.0.3
publié le 30 avril 2019
Nouveautés dans Visual Studio 2019 version 16.0.3
- Visual Studio Tools pour Kubernetes prend désormais en charge la dernière version de Azure Dev Spaces.
Problèmes résolus dans Visual Studio 2019 version 16.0.3
- L’option Supprimer est manquante dans le menu contextuel de l’explorateur de solutions des projets Xamarin Forms Android.
- Xamarin.Android : Impossible de sélectionner la version cible du framework 28 dans les paramètres du manifeste Android.
- Impossible de charger le fichier ou l’assembly ' Microsoft.VisualStudio.Web.PageInspector.Loader, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' ou une de ses dépendances. Le système ne trouve pas le fichier spécifié..
- « Erreur lors de l’exécution du générateur de code sélectionné » lorsque vous tentez de créer une vue.
- La liste d’autorisations Android est vide.
- Icônes manquantes pour les fichiers .axml dans Visual Studio 2019.
- Les icônes axml ne sont pas affichées.
- Échec possible de l’installation des extensions Visual Studio lors de la tentative de remplacement des fichiers de base NuGet.
- L’instruction switch C# sur une expression constante peut produire des erreurs de compilateur incorrectes.
Visual Studio 2019 version 16.0.2
Publication : 18 avril 2019
Problèmes résolus dans Visual Studio 2019 version 16.0.2
- Le nom de la solution dans la barre de titre est tronqué
- Interpolation manquante dans l’avertissement lors de l’empaquetage des projets Cloud Services
- Désormais, Visual Studio n’affiche plus de message d’erreur au démarrage lorsque vous avez réinitialisé ou importé des paramètres dans certains cas.
- Résolution des problèmes d’accessibilité qui se produisaient dans les projets Cloud Services lorsque des entrées incorrectes dans la fenêtre de configuration de diagnostics ne pouvaient pas être lues par les lecteurs d’écran.
Visual Studio 2019 version 16.0.1
Publication : 9 avril 2019
Problèmes résolus dans Visual Studio 2019 version 16.0.1
- Ajouter l’option UWP (plateforme Windows universelle) lors de la création d’un projet Xamarin.Forms à partir du modèle de projet « Application Mobile (Xamarin.Forms) ».
- Le titre de la fenêtre Aide > À propos de dans Visual Studio 2019 indique encore « RC » après la mise à niveau.
- Lors de la mise à jour de Visual Studio 2019 RC vers GA, les raccourcis RC pour Visual Studio sont conservés.
- Visual Studio 2019 Preview 1.1 ne peut pas créer un formulaire Xamarin UWP.
- Échec de chargement du package lors du démarrage de Visual Studio 2019 après la mise à niveau de Preview 4.4 vers 16.0.
Visual Studio 2019
publication le 2 avril 2019
Récapitulatif des nouveautés de Visual Studio 2019
Installer
- Devenez plus efficace maintenant que le téléchargement des mises à jour de Visual Studio s’effectue en arrière-plan.
- Contrôlez le mode d’installation des mises à jour de Visual Studio.
IDE
- Collaborez avec d’autres utilisateurs à l’aide de Visual Studio Live Share, qui est installé par défaut. La prise en charge supplémentaire des langages C++, VB.NET et Razor permet aux invités d’avoir une vue de la solution et de partager les modifications du contrôle de code source.
- Ouvrez le code sur lequel vous avez récemment travaillé ou démarrez à partir de l’un des flux les plus utilisés comme Cloner, Ouvrir ou Créer un projet dans la nouvelle fenêtre de démarrage.
- Créez des projets avec une expérience de recherche et de filtrage améliorée, avec la nouvelle liste de modèles triés par popularité.
- Profitez d’une surface d’affichage agrandie verticalement pour votre code et d’une interface à l’apparence modernisée à travers de nouveaux changements visuels dans l’interpréteur de commandes.
- Bénéficiez d’une qualité d’image plus nette dans votre IDE quelles que soient la configuration et/ou l’échelle choisies pour l’affichage, car nous avons amélioré la prise en charge de la résolution par moniteur.
- Utilisez une fonctionnalité de recherche améliorée dans Visual Studio pour les menus, les commandes, les options et les composants installables.
- Vérifiez rapidement l’« intégrité » de votre fichier de code grâce à un indicateur de document. Lancez et configurez le nettoyage du code en un clic sur cet indicateur.
- Gérez facilement les fonctionnalités en préversion que vous avez choisies à partir de la nouvelle page Fonctionnalités en préversion disponible dans la boîte de dialogue Options.
- Créez des projets avec une recherche basée sur les balises améliorée et une liste de « Modèles de projet récents » facilement accessible.
- Créez des éléments directement à partir de Rechercher dans Visual Studio et obtenez des résultats plus rapidement avec une plus grande pertinence.
- Tenez-vous informé des informations importantes, telles que les demandes Visual Studio Live Share, avec une nouvelle expérience de notifications.
- Enregistrez une collection de correcteurs de nettoyage de code en tant que profil afin de pouvoir sélectionner facilement les correcteurs que vous souhaitez exécuter lors du nettoyage de code.
- Déclenchez de nouveaux correctifs du code et refactorisations .NET.
- Configurez des projets .NET Core plus facilement avec des fichiers projet de première classe.
- Affichez l’état de vos extensions avec des balises Preview, Paid et Trial dans la boîte de dialogue Extensions et mises à jour.
- Vérifiez et configurez les fonctionnalités Preview que vous souhaitez activer (les valeurs par défaut ont été réinitialisées dans cette préversion).
- Tenez vos extensions à jour en excluant certaines API de la Fenêtre de test qui ont été marquées comme dépréciées dans cette version.
- Connectez-vous, naviguez et clonez en un clic, ou connectez-vous à vos dépôts hébergés à partir d’Azure DevOps par le biais de la fenêtre de démarrage.
- Installez des extensions pour d’autres hôtes de contrôle du code source afin de voir les dépôts détenus par vous et votre organisation.
- Nous avons suivi vos commentaires pour améliorer le thème Bleu : nous avons baissé la luminosité, amélioré le contraste global et résolu d’autres problèmes d’utilisation.
- Appliquez des préférences de style de code à partir de la ligne de commande avec l’outil global dotnet format.
- MSBuild et Visual Studio ciblent maintenant .NET Framework 4.7.2 par défaut.
- Nous avons supprimé les fonctionnalités liées à Azure App Service de l’Explorateur de serveurs. Les fonctionnalités équivalentes sont disponibles dans Cloud Explorer.
Performances
- Contrôlez la façon dont les solutions se chargent grâce aux nouvelles améliorations de performances de Visual Studio en ce qui concerne la vitesse d’exécution pas à pas, la vitesse de basculement entre branches, etc.
- Surveillez la progression du chargement de votre solution dans le Centre d’état des tâches.
- Sélectionnez les projets à charger à l’ouverture de la solution avec des fichiers de filtre de solution.
- Améliorez vos performances de frappe en limitant l’impact des composants auxiliaires.
- Activez ou désactivez la nouvelle option permettant de désactiver la restauration de l’état de la hiérarchie de projets et de l’état de la fenêtre Outil.
- Découvrez le nouveau raccourci pour Générer la sélection et rapidement Tout générer dans CMake avec la nouvelle commande Tout générer.
- Codez plus vite avec de meilleures performances IntelliSense pour les fichiers C++ dans les projets CMake.
- Chargez des solutions .NET Core plus grandes et bénéficiez de réductions de mémoire significatives quand vous travaillez avec elles au fil du temps.
- Chargez les dépendances de projet rapidement avec une nouvelle commande de menu contextuel de projet.
- Bénéficiez de conseils relatifs aux performances dans le Centre de performances.
Débogage général et diagnostics
- Utilisez des mots clés de recherche dans les fenêtres Espion, Automatique et Variables locales pendant le débogage pour trouver plus facilement des objets ou des valeurs.
- Affichez une liste déroulante de spécificateurs de format dans les fenêtres Espion, Automatique et Variables locales lors de l’inspection des données.
- Utilisez un visualiseur personnalisé, désormais compatible avec .NET Core.
- Déboguez vos applications volumineuses à l’aide de très nombreux modules et fichiers PDB.
- Lancez Google Chrome avec des arguments personnalisés et déboguez vos applications JavaScript dans l’IDE Visual Studio.
- Utilisez la mise en surbrillance de chemin réactif pour les outils d’allocation d’objets .NET et le processeur dans le Profileur de performances.
- Arrêt quand la valeur de la propriété d’un objet spécifique change dans une application .NET Core 3.0+ utilisant des points d’arrêt sur variable, une fonctionnalité qui était au départ propre à C++.
- Depuis la préversion 1, nous avons mis à jour l’interface utilisateur de recherche dans les fenêtres Automatique, Variables locales et Espion avec une interface plus simple. La fonction Rechercher plus profondément a été remplacée par une liste déroulante afin de vous permettre de sélectionner plus rapidement le niveau souhaité pour les recherches initiales et ultérieures.
Contrôle de code source et Team Explorer
- Stockez temporairement les modifications apportées le temps de travailler sur une autre tâche grâce à la prise en charge du remisage (stash) Git par les outils Git de Team Explorer.
- Essayez l’extension facultative Demandes de tirage pour Visual Studio, qui est disponible dans la Place de marché Visual Studio. Cette extension intègre les modifications de demande de tirage (pull request) dans Visual Studio.
- Découvrez la nouvelle expérience d’utilisation des éléments de travail Azure DevOps qui est axée sur les flux de travail développeur : les vues d’éléments de travail des utilisateurs, la création de branche à partir d’un élément de travail, la recherche d’éléments de travail avec #mentions et la modification intraligne.
Extensibilité
- Utilisez un seul SDK Visual Studio unifié dans le package NuGet Microsoft.VisualStudio.SDK.
- Profitez de notre mise à jour du projet VSIX pour inclure désormais une classe AsyncPackage.
- Expérimentez un nouveau modèle Projet VSIX vide que nous avons ajouté.
- Déterminez si une extension est gratuite, payante ou en version d’essai, comme c’est maintenant indiqué dans la boîte de dialogue Extensions et mises à jour.
Langages de programmation
C#
Bénéficiez d’un aperçu des fonctionnalités de langage 8.0 désormais prises en charge par le compilateur C#, notamment :
- Types référence nullables : quand la fonctionnalité est activée (par exemple, avec
#nullable enable
ou au niveau du projet avec<NullableContextOptions>enable</NullableContextOptions>
), les types référence sont traités comme nullables s’ils sont annotés avec?
, et comme non-nullables dans le cas contraire. Le compilateur analyse ensuite où circulent les valeurs null, et affiche des avertissements relatifs aux cas d’usage potentiellement non sécurisés. - Expressions
switch
: offre une sémantique similaire àswitch
dans le contexte d’une expression. - Correspondance de modèle récursif : de nouveaux modèles permettent de tester des champs/propriétés et des éléments positionnels (provenant de tuples ou d’une déconstruction).
- Prise en charge des types
Range
etIndex
utilisés dans CoreFX pour le découpage, notamment la syntaxe des littérauxx..y
pour les plages. - Les flux asynchrones représentés par
IAsyncEnumerable<T>
peuvent être énumérés de manière asynchrone avecawait foreach
, et peuvent être générés avec des méthodes d’itérateurasync IAsyncEnumerable<T>
. - Déclarations
using
: suppression à la fin du bloc actif, sans augmenter le niveau d’imbrication. Les structsref
peuvent être supprimés en implémentant une méthodeDispose()
publique. - Fonctions locales
static
: les fonctions locales marquées avecstatic
ne peuvent pas référencerthis
ou des variables dans les fonctions englobantes. - Les expressions lambda et les fonctions locales peuvent désormais déclarer des paramètres et des variables locales qui masquent les noms des variables des fonctions englobantes.
- Attribution de fusion null :
x ??= y;
attribue uniquementy
àx
six
étaitnull
.
Apprenez-en davantage dans la vue d’ensemble de C# 8.0 par Mads.
Pour plus d’informations, consultez l’état des fonctionnalités de langage C# et les changements cassants.
En outre, vous pouvez utiliser des fonctionnalités de langage C# plus modernes dans Visual Studio par défaut.
C++
- Écrivez votre code C++ et XAML plus rapidement à l’aide de Visual Studio IntelliCode, une extension facultative qui fournit des suggestions AI pour votre code.
- Recevez des avertissements d’analyse du code dans l’éditeur. L’analyse du code s’exécute automatiquement en arrière-plan et les avertissements sont affichés sous forme de tildes verts.
- Essayez la nouvelle barre de modèles, qui utilise l’interface utilisateur de fenêtre d’aperçu et prend en charge les modèles imbriqués.
- Exécutez la nouvelle implémentation du vérificateur de profil de durée de vie C++.
- Configurez vos projets CMake à l’aide du nouvel éditeur de paramètres CMake, qui fournit une alternative à CMakeSettings.json.
- Essayez les nombreuses améliorations back-end, notamment la vectorisation OpenMP SIMD, l’accélération de l’édition de liens et une incorporation (inlining) plus agressive.
- Ouvrez les caches CMake existants générés par des outils externes, tels que CMakeGUI, ou par des systèmes de génération de métadonnées personnalisés.
- Améliorez l’analyse avec /Qspectre afin de fournir une aide corrective pour Spectre Variant 1 (CVE-2017-5753). Pour plus d’informations, consultez le billet de blog de l’équipe Visual C++.
- Basculez rapidement entre vos exemples d’arguments précédents, maintenant que la barre de modèles de la fonctionnalité IntelliSense du modèle contient une liste déroulante Utilisé récemment.
F#
- F# 4.6 est désormais publié, de même que diverses autres améliorations du compilateur.
- Profitez de l’amélioration des performances pour les solutions volumineuses et diverses résolutions de bogues pour les outils F# et F#.
- Apprenez-en davantage sur le travail exceptionnel effectué par les contributeurs open source pour le langage et les outils F#.
JavaScript/TypeScript
- Déboguez des tests unitaires dans les projets Node.js.
- Bénéficiez d’une prise en charge supplémentaire des utilisateurs qui créent des projets TypeScript à partir de packages NuGet et npm.
Python
- Ajoutez facilement des environnements Python conda et virtuels à l’aide de la boîte de dialogue Ajouter un environnement Python.
- Travaillez plus facilement avec les environnements Python, notamment grâce à l’amélioration de la prise en charge des espaces de travail Ouvrir un dossier à l’aide d’une nouvelle barre d’outils de sélecteur d’environnement Python.
- Créez des sessions Visual Studio Live Share et collaborez sur du code Python avec d’autres utilisateurs de Visual Studio.
Technologies Web
- Tirez parti de la prise en charge supplémentaire des projets .NET Core 3.0.
- Découvrez le profilage de l’UC d’ASP.NET.
- Utilisez le débogueur de capture instantanée pour les applications web .NET exécutées sur des machines virtuelles, dans des groupes de machines virtuelles identiques et dans Azure Kubernetes Service.
- Développez des applications conteneurs pour Kubernetes avec les Outils Kubernetes Visual Studio
- Profitez des améliorations apportées à l’expérience d’élément de travail Azure DevOps, notamment la prise en charge inline de l’affectation des éléments de travail et une expérience #mentions améliorée.
- Profitez d’une plus grande simplicité d’utilisation des fichiers projet et d’une meilleure application console pour les outils .NET Core.
- Profitez des améliorations apportées à la synthèse des profils de publication pour toutes les applications. De plus, une nouvelle section nommée Dépendances est désormais disponible quand une application est publiée sur Azure App Service.
- Profitez de l’amélioration visuelle lors de la création d’une application ASP.NET
- Fournissez à nouveau les informations d’identification de publication pour un profil de publication Azure Functions existant
Outils de conteneur
- Bénéficiez d’un projet unique simplifié pour la conteneurisation et le débogage.
- Tirez parti de l’ajout de la prise en charge du débogage Alpine et d’images de base supplémentaires.
Développement mobile avec Xamarin
- Démarrez plus rapidement avec une taille de charge de travail Xamarin réduite et des performances accrues lors de la création de nouveaux projets.
- Obtenez des informations plus détaillées sur la progression de la génération.
- Utilisez IntelliCode avec XAML dans Xamarin.Forms.
- Affichez un aperçu de votre XAML sans générer au préalable votre projet avec le nouveau mode Aperçu de base dans le Générateur d’aperçu Xamarin.Forms.
- Affichez un aperçu de votre XAML Xamarin.Forms sur différents appareils avec le nouveau menu déroulant d’appareil du Générateur d’aperçu Xamarin.Forms.
- Découvrez le nouveau panneau de propriétés pour les commandes Xamarin.Forms.
- Utilisez le nouveau modèle Shell pour Xamarin.Forms.
- Profitez des améliorations apportées aux performances des builds initiales et incrémentielles Xamarin.Android.
- Créez de nouveaux émulateurs Android à l’aide du menu Déployer la cible.
- Réduisez la durée des générations grâce aux améliorations apportées à la génération dans Xamarin.Android.
- Bénéficiez d’un déploiement rapide et amélioré et d’une prise en charge d8/r8 pour Xamarin.Android.
- Gagnez en productivité avec Xamarin.Android Designer.
- Essayez les améliorations apportées à Xamarin.Android Designer avec prise en charge initiale des dispositions de contraintes.
- Améliorez votre productivité avec Xamarin.Android Designer en utilisant Atteindre la définition et la complétion automatique/amélioration XML IntelliSense pour les fichiers de ressources Android.
Plateforme Windows universelle (UWP)
- Conservez les commentaires, l’espacement, les espaces de noms et tous les autres changements apportés au texte quand vous effectuez des modifications à partir du concepteur. Le concepteur de manifeste de package reste désormais totalement fidèle aux changements xml dans le fichier Package.appxmanifest.
- Utilisez le projet Création de package d’application Windows pour les projets .NET Core afin de générer des packages MSIX.
- Utilisez l’Assistant Création de package pour effectuer des soumissions directes au Microsoft Store.
- Le déploiement sur les appareils Windows Mobile n’est plus pris en charge dans Visual Studio 2019. Les tentatives de déploiement sur un appareil Windows 10 Mobile entraîne une erreur indiquant que « Le déploiement sur les appareils Windows Mobile n’est pas pris en charge dans Visual Studio 2019 ». Si vous avez besoin de continuer à travailler sur une application pour des appareils Windows 10 Mobile, continuez à utiliser Visual Studio 2017.
Outils de débogage XAML :
- Modifier et continuer XAML prend désormais en charge x:bind (UWP) : La fonctionnalité Modifier et continuer XAML prend désormais en charge la modification des liaisons de données créées avec x:bind pour les chemins contenant des propriétés publiques, le nom de l’élément, les chemins de propriété indexés (collections), les propriétés attachées et les propriétés de cast. Les autres changements ne sont pas pris en charge. Cette amélioration est disponible pour toutes les applications où les versions minimale et maximale ciblent le SDK Windows 10 version 1809 (build 10.0.17763) ou ultérieure. (Remarque : La fonctionnalité Modifier et continuer XAML s’appelle Rechargement à chaud XAML à compter de Visual Studio 2019 Update 2+).
SQL Server Data Tools
- Profitez de la mise à jour de SSDT et DacFX, qui inclut désormais la prise en charge du classement UTF-8.
Présentation détaillée des nouveautés de Visual Studio 2019
Installer
- Vous pouvez maintenant choisir comment installer les mises à jour de Visual Studio. Le mode par défaut est « Tout télécharger, puis installer », ce qui vous permet de continuer à utiliser Visual Studio pendant le téléchargement des mises à jour. Notez que si vous sélectionnez « Tout télécharger, puis installer », vous devez terminer l’installation en ouvrant Visual Studio Installer et en sélectionnant Continuer.
- Les mises à jour de Visual Studio seront maintenant téléchargées en arrière-plan. Ces téléchargements auront lieu uniquement quand votre ordinateur sera inactif. Une fois les téléchargements terminés, vous recevrez une notification dans Visual Studio vous signalant que le téléchargement est maintenant prêt à être installé.
- Vous pouvez désormais contrôler le mode d’installation des mises à jour, et s’il faut ou non les télécharger via le menu Outils > Options en changeant les paramètres de la page Mises à jour du produit.
Fenêtre de démarrage
La nouvelle fenêtre de démarrage simplifie l’expérience de lancement pour vous permettre d’accéder plus rapidement à votre code au démarrage de Visual Studio.
- Affichez vos projets et dossiers récents, et ouvrez-les en un seul clic. Épinglez et supprimez des éléments de la liste par le biais du menu contextuel.
- Clonez ou validez le code à l’aide de n’importe quelle URL Git publique ou privée, et ouvrez ainsi automatiquement le dossier dans l’IDE.
- Connectez-vous, parcourez et clonez ou connectez-vous en un clic à vos référentiels hébergés à partir d’Azure DevOps, ou installez des extensions pour d’autres hôtes de contrôle de code source afin d’afficher les référentiels dont votre organisation ou vous-même êtes propriétaire.
- Parcourez votre disque local ou partage réseau pour accéder aux projets, solutions ou dossiers contenant le code, et ouvrez-les dans l’IDE.
- Sélectionnez un modèle de projet qui génère automatiquement des modèles de code pour vous aider à démarrer un nouveau projet ou une nouvelle solution.
- Recherchez des modèles de projet par titre, description et balises, ou filtrez d’après les langages, plateformes et types de projets disponibles. La liste par défaut montre tous les modèles disponibles, tandis que la liste des 10 derniers modèles de projet utilisés apparaît dans le volet gauche afin d’en faciliter l’accès. Un Assistant de deux pages vous permet de vous concentrer sur une décision à la fois.
Shell et plateforme
- Identifiez rapidement votre version de Visual Studio ouverte et utilisée grâce à la nouvelle icône améliorée du produit. Cette icône est également plus visible sur de nombreux arrière-plans.
- Découvrez l’apparence modernisée de Visual Studio avec un thème bleu actualisé qui rend l’interface utilisateur plus claire tout en restant conforme à nos normes d’accessibilité.
- Affichez plus de code à la fois grâce aux changements effectués pour privilégier la compacité et agrandir verticalement l’espace d’affichage dans l’IDE. Nous avons combiné la barre de titre et la barre de menus tout en conservant les fonctionnalités existantes.
- Utilisez notre nouveau paramètre expérimental permettant la prise en charge de la résolution par moniteur dans Visual Studio. Quand il est activé, ce paramètre améliore la netteté du rendu des éléments de Visual Studio, tels que l’interpréteur de commandes et l’éditeur, quelles que soient la configuration et/ou l’échelle de l’affichage.
- Expérimentez la recherche avancée pour les menus, les commandes, les options et les composants installables. Notre nouvelle fonctionnalité de recherche affiche maintenant les résultats de façon dynamique, gère les fautes d’orthographe et retourne des informations utiles (par exemple, les raccourcis clavier) dans les résultats de la recherche.
- Affichez des informations sur l’intégrité du fichier actuellement ouvert à l’aide de l’indicateur d’intégrité du document.
- Si vous développez en C#, vous pouvez rapidement supprimer certaines des suggestions de code les plus courantes à l’aide de la fonctionnalité Nettoyage du code.
- Configurez le nettoyage du code pour sélectionner les correctifs à exécuter.
- Affichez le contenu de l’historique du Presse-papiers à partir d’un menu contextuel qui développe le Presse-papiers circulaire (Ctrl+Maj+V).
- Nous avons amélioré l’expérience de recherche en :
- Ajoutant des filtres pour les menus, composants et modèles.
- Incorporant vos sélections de recherche afin de vous donner les résultats de recherche les plus pertinents.
- Vous permettant de créer et d’ajouter de nouveaux projets/éléments à votre solution directement à partir de Rechercher dans Visual Studio.
- L’expérience PMA améliorée est désormais activée par défaut pour les utilisateurs qui disposent de la configuration minimale requise (.NET 4.8 Preview & et Mise à jour de Windows du 10 avril 2018 ou version ultérieure). Des fenêtres d’outils telles que Boîte à outils, Points d’arrêt, Espion, Variables locales, Automatique et Pile des appels ont été converties vers PMA, et sont ainsi affichées de manière nette quelle que soit votre configuration d’affichage et/ou de mise à l’échelle.
- Une nouvelle expérience de notification ajoute :
- Une nouvelle expérience de compteurs et d’icônes à la barre d’état.
- Un nouveau mécanisme de notification toast.
- Des notifications de mises à jour de Visual Studio et d’expiration de licence Visual Studio.
- Une expérience de thème Bleu révisée qui répond aux commentaires en réduisant la luminosité, en améliorant le contraste et en résolvant d’autres problèmes d’utilisation.
- Les fonctionnalités de glissement de fenêtre ont été améliorées en exploitant l’espace libre disponible dans la région de la barre d’outils en tant que région pouvant être déplacée.
- Vous pouvez maintenant enregistrer une collection de correcteurs de nettoyage de code en tant que profil, afin de pouvoir sélectionner rapidement les correcteurs que vous souhaitez exécuter lors du nettoyage de code.
- Nous avons ajouté des étiquettes dans la boîte de dialogue Extensions et mises à jour pour vous aider à comprendre rapidement si une extension est disponible en préversion, s’il s’agit d’une extension payante ou si elle est en période d’essai.
- IAsyncQuickInfoSourceProvider est désormais la méthode recommandée pour implémenter des info-bulles de données dans Visual Studio 2019 et les versions ultérieures. Les API Info express de l’éditeur hérité, IVsTextTipData et TextTipData, sont dépréciées dans Visual Studio 2019 Preview 1.
- Les balises actives de l’éditeur (famille d’interfaces ISmartTag* dans l’espace de noms Microsoft.VisualStudio.Language.Intellisense) ont été dépréciées en faveur de l’API LightBulb et ne sont plus prises en charge à compter de Visual Studio 2019 Preview 1.
- Les options de solution Afficher les configurations de build avancées, Toujours afficher la solution et Enregistrer les nouveaux projets lors de leur création ont été supprimées, car elles étaient peu utilisées. Ces valeurs ont été définies sur leur valeur par défaut, True.
- Acceptez ou refusez certaines fonctionnalités en préversion depuis la nouvelle page Fonctionnalités en préversion, accessible via Outils > Options > Environnement > Fonctionnalités en préversion.
Performances
- Nous avons ajouté un nouveau raccourci pour Générer la sélection pour les dossiers et les solutions : Ctrl+B.
- Ouvrez rapidement des solutions de grande taille en chargeant votre solution avec tous les projets déchargés.
- Choisissez les projets à charger à l’ouverture de la solution avec des fichiers de filtre de solution.
- Créez un fichier de filtre de solution en déchargeant les projets que vous ne voulez pas ouvrir automatiquement, en cliquant avec le bouton droit sur la solution et en sélectionnant Enregistrer comme filtre de solution. Vous pouvez ensuite utiliser ce fichier de filtre pour ouvrir la solution à chaque fois que vous en avez besoin.
- Nous avons ajouté une commande Tout générer pour les fichiers CMake : Ctrl+Maj+B.
- Nous avons amélioré les performances d’IntelliSense dans les fichiers C++ dans les projets CMake.
- Nous avons ajouté une commande pour charger les dépendances de projet non chargées aux menus contextuels de projet et de solution.
- Les notifications de conseils pour améliorer les performances de Visual Studio sont désormais conservés dans le centre de performances, accessible via Aide > Gérer les performances de Visual Studio.
- Vous pouvez maintenant voir la progression du chargement de votre solution dans le centre d’état des tâches, ainsi qu’être averti de la fin du chargement.
- Choisissez les projets à charger à l’ouverture de la solution avec des fichiers de filtre de solution.
- Créez un fichier de filtre de solution en déchargeant les projets que vous ne voulez pas ouvrir automatiquement, en cliquant avec le bouton droit sur la solution et en sélectionnant Enregistrer comme filtre de solution. Vous pouvez ensuite utiliser ce fichier de filtre pour ouvrir la solution à chaque fois que vous en avez besoin.
- Essayez les fonctionnalités améliorées de détection des ressources de build et de recherche de fichiers quand vous appuyez sur Ctrl+T dans les scénarios Ouvrir un dossier.
- Vous pourrez profiter de certaines améliorations des performances maintenant que l’éditeur Visual Studio limite l’impact des composants auxiliaires sur les performances de frappe. En particulier, l’éditeur annulera automatiquement les opérations non essentielles de longue durée lors de la frappe.
- Vous pouvez configurer le comportement de limitation des composants auxiliaires de Visual Studio via Outils > Options > Éditeur de texte > Avancé :
- Vous pouvez maintenant désactiver la restauration de l’état de la hiérarchie de projets de la session précédente dans la fenêtre Outil de l’Explorateur de solutions. Nous avons implémenté ce changement, car le lancement d’une telle restauration à l’ouverture de la solution pouvait différer le chargement de la solution.
- Activez ou désactivez cette option dans Outils > Options > Projets et solutions > Général.
Débogage général et diagnostics
Débogage général
- Avec la nouvelle fonctionnalité de recherche que nous avons intégrée aux fenêtres Espion, Automatique et Variables locales, vous pouvez utiliser des mots clés pour trouver des éléments de code, les mettre en surbrillance et y accéder directement.
- Affichez une liste déroulante de spécificateurs et d’options pour définir le format des données dans les fenêtres Espion, Automatique et Variables locales en ajoutant une virgule à un élément de la liste.
- Vous bénéficiez maintenant de la prise en charge des visualiseurs DataSet et personnalisés pour .NET Core.
- Pour les applications C++ exécutées sur Windows, les fichiers PDB se chargent maintenant dans un processus 64 bits distinct. Ce changement résout plusieurs problèmes de plantage qui pouvaient survenir quand le débogueur manquait de mémoire au moment du débogage d’applications contenant de nombreux modules et fichiers PDB.
Points d’arrêt sur variable managés
Vous pouvez désormais effectuer un arrêt quand la valeur de la propriété d’un objet change dans une application .NET Core (version 3.0 ou supérieure) en utilisant des points d’arrêt de données, une fonctionnalité qui était au départ propre à C++. Ils constituent une alternative intéressante au simple placement d’un point d’arrêt sur le setter d’une propriété. En effet, un point d’arrêt de données peut être centré sur la propriété d’un objet spécifique même quand il est en dehors de l’étendue, tandis que la première option peut provoquer des arrêts constants et non pertinents si des centaines d’objets appellent cette fonction.
Mises à jour de l’expérience utilisateur dans les recherches dans la fenêtre Espion
Nous avons simplifié l’interface utilisateur de recherche dans les fenêtres Automatique, Variables locales et Espion. La fonction Rechercher plus profondément a été remplacée par une liste déroulante afin de vous permettre de sélectionner plus rapidement le niveau souhaité pour les recherches initiales et ultérieures.
Appliquer des préférences de style de code
- Vous pouvez désormais appliquer des préférences de style de code à partir de la ligne de commande avec l’outil global dotnet format. Pour effectuer l’installation, vous avez besoin du SDK .NET Core 2.1 ou ultérieur. Exécutez la commande suivante dans votre terminal préféré :
dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10
Extensibilité
- Vous ne pouvez plus installer les extensions créées avec le format d’extension vsixmanifest V1 dans Visual Studio 2019. V1 avait été introduit dans Visual Studio 2010 et avait été déprécié dans Visual Studio 2017 en raison du risque de problèmes de fiabilité avec Visual Studio. Dans Visual Studio 2019, la prise en charge de V1 a été complètement supprimée. Les extensions ciblant Visual Studio 2019 doivent être regénérées avec la version V2 ou V3 du format vsixmanifest.
- Vous êtes désormais averti quand une extension est chargée automatiquement de façon synchrone. Notez que l’extension sera chargée et fonctionnera normalement dans cette version, mais que cela n’est pas garanti dans la prochaine mise à jour de Visual Studio 2019. Vous trouverez plus d’informations à ce sujet dans notre billet de blog sur l’amélioration de la réactivité dans les scénarios critiques en mettant à jour le comportement de chargement automatique des extensions.
Package NuGet du SDK unifié
Dans le passé, les auteurs d’extensions devaient faire de nombreuses références distinctes aux packages NuGet individuels du SDK Visual Studio qu’ils devaient utiliser dans leur extension. Les versions des différents packages n’étaient pas toujours alignées, ce qui provoquait souvent des conflits de dépendance au moment de la compilation ainsi que des problèmes de runtime.
Pour résoudre ces problèmes, utilisez un nouveau package appelé Microsoft.VisualStudio.SDK qui contient des dépendances sur tous les packages composant le SDK Visual Studio. Il résout le problème d’incompatibilité de versions et permet de savoir facilement quelle version utiliser. Utilisez simplement la version du package qui correspond à la version la plus ancienne de Visual Studio que votre extension prend en charge. Vous aurez alors accès à l’ensemble du SDK.
Pour le moment, seule la version 15.9 du package SDK existe, mais d’autres versions seront disponibles dans les mois à venir jusqu’à la version 14.0.
Modèles de projet nouveaux et mis à jour
Le modèle Projet VSIX a connu plusieurs mises à jour en vue de le simplifier et de l’améliorer :
- Utilises le package NuGet du SDK unifié
- Inclut une classe AsyncPackage
- Ne nécessite plus de fichier .resx pour compiler un package
- Cible .NET Framework 4.7.2
Un nouveau modèle de projet VSIX vide a été créé. Il est identique au modèle Projet VSIX, mais sans la classe AsyncPackage. Il fait également référence au package NuGet du SDK unifié en fournissant un bon point de départ pour les extensions MEF et d’autres types d’extension sans package.
Gratuit/Payant/Essai
Il n’était pas simple de voir si une extension était marquée comme gratuite, payante ou à l’essai. C’est différent à présent. En effet, dans la boîte de dialogue Extensions et mises à jour, chaque extension qui est un essai ou qui est payante est clairement marquée comme tel. Les extensions qui n’ont pas étiquette d’essai/payante sont gratuites.
Outils de test
Des API supplémentaires dans la fenêtre de test qui étaient auparavant non documentées mais marquées comme publiques ont été ajoutées à la liste de dépréciation.
Contrôle de code source
- Stockez temporairement les modifications apportées le temps de travailler sur une autre tâche grâce à la nouvelle prise en charge du remisage (stash) Git par les outils Git de Team Explorer.
- Validez, exécutez et déboguez les demandes de tirage (pull request) d’Azure Repos sans quitter votre IDE, grâce à notre nouvelle expérience de demande de tirage disponible dans Visual Studio 2019. Pour démarrer, vous pouvez télécharger l’extension Demandes de tirage (pull request) pour Visual Studio à partir de Visual Studio Marketplace.
MSBuild
- La version de l’ensemble d’outils MSBuild a été changée de
15.0
àCurrent
.MSBuild.exe
se trouve maintenant dans%VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe
. - MSBuild et Visual Studio ciblent maintenant .NET Framework 4.7.2. Si vous souhaitez utiliser de nouvelles fonctionnalités de l’API MSBuild, vous devez également mettre à niveau votre assembly, mais le code existant continuera de fonctionner.
C#
Pour chaque version antérieure à Visual Studio 2019, la version de langage C# par défaut était toujours équivalente à Dernière version principale. Dans Visual Studio 2017, C# a évolué et trois versions mineures ont été publiées : 7.1, 7.2 et 7.3. Toutefois, les nouveaux projets utilisaient toujours par défaut C# 7.0. Cela s’est avéré frustrant pour les développeurs C# qui voulaient utiliser les nouvelles fonctionnalités, mais devaient modifier manuellement la version de langage pour chaque nouveau projet.
Pour résoudre ce problème, la version de langage C# par défaut est déterminée par son framework cible :
- Si vous ciblez .NET Core 3.0 Preview, la version de langage C# sera C# 8.0 Preview.
- Si vous ciblez .NET Framework ou toute version autre qu’une préversion de .NET Core, la version de langage C# sera C# 7.3.
Cela permet d’utiliser les dernières fonctionnalités de langage C# stable par défaut et, en cas d’utilisation de préversions de .NET Core, d’utiliser les fonctionnalités de langage C# 8.0 Preview qui s’alignent avec .NET Core 3.0 Preview.
Si vous spécifiez une version de langage par le biais de LangVersion
dans un fichier projet ou un fichier de propriétés, cette version de langage remplace la valeur par défaut décrite précédemment.
C++
- Collaborez en temps réel, car Visual Studio Live Share prend maintenant en charge C++.
- Développez plus rapidement en utilisant IntelliCode, une extension facultative qui exploite toutes ses données d’apprentissage et le contexte de votre code pour suggérer les éléments de code que vous êtes le plus susceptible d’utiliser en haut de votre liste de saisie semi-automatique. Pour C++, IntelliCode est le plus performant quand vous utilisez des bibliothèques populaires comme STL.
- Nous avons renommé plusieurs noms de modèles de projet et changé certaines descriptions en raison de la mise à jour de la boîte de dialogue Nouveau projet.
- Nous avons supprimé le composant expérimental Clang/C2. Utilisez l’ensemble d’outils MSVC pour garantir une totale conformité aux normes C++ avec /permissive- et/ou /std:c++17, ou la chaîne d’outils Clang/LLVM pour Windows. Pour plus d’informations, consultez leBlog de l’équipe Visual C++.
- Le commutateur /Gm du compilateur C++ a été déprécié. Désactivez le commutateur /Gm dans vos scripts de build s’il y est défini explicitement. Sinon, vous pouvez ignorer en toute sécurité l’avertissement de dépréciation de /Gm, car il ne sera pas traité comme une erreur quand vous utilisez /WX (« Traiter les avertissements comme des erreurs »).
- L’expérience Android C++ utilise désormais Android SDK 25 et Android NDK 16b par défaut.
Productivité
- L’analyse du code s’exécute désormais automatiquement en arrière-plan. Les avertissements sont marqués par des tildes verts dans l’éditeur à mesure que vous tapez.
- La barre de modèles utilise maintenant l’interface utilisateur de la fenêtre d’aperçu plutôt qu’une fenêtre modale, prend en charge les modèles imbriqués et prérenseigne les arguments par défaut dans la fenêtre d’aperçu.
- Un correctif automatique pour l’avertissement d’analyse du code NULL->nullptr (C26477 USE_NULLPTR_NOT_CONSTANT) est disponible via le menu Ampoule sur les lignes correspondantes, activé par défaut dans l’ensemble de règles C++ Core Check Type Rules (Règles de types – Contrôles C++ principaux). Autres correctifs rapides dans l’IDE : ajout de directives #include manquantes, correction de point-virgules manquants et correction des utilisations incorrectes de « * » plutôt que « & ».
- Les en-têtes précompilés ne sont plus générés par défaut pour les applications de bureau et console C++.
- Atteindre la définition fonctionne désormais sur les directives #include et ouvre le fichier correspondant. Cela comprend le raccourci F12, offrant ainsi un moyen facile de naviguer dans votre code.
- Le fait de pointer sur une accolade fermante d’un bloc de code fournit des informations utiles sur le contexte de ce bloc.
- Nous avons ajouté la prise en charge dans ConcurrencyChecker des types STL connus à partir de l’en-tête <mutex>.
- Une implémentation partielle mise à jour du vérificateur de profil de durée de vie est disponible pour la détection des références et des pointeurs non résolus.
- Nous avons ajouté la prise en charge initiale dans le compilateur de l’opérateur C++20 <> pour la comparaison triple.
CMake
- Nous avons amélioré les performances d’IntelliSense pour les fichiers C++ dans les projets CMake.
- Visual Studio vous aide à démarrer votre développement en C++ avec CMake sur Linux en détectant si vous avez une version compatible de CMake sur votre ordinateur Linux. Si ce n’est pas le cas, il propose de l’installer pour vous.
- L’Éditeur de paramètres CMake fournit une alternative à CMakeSettings.json et offre une parité avec CMakeGUI.
- Le menu CMake a été supprimé et réorganisé pour une parité plus proche avec les projets et solutions.
- Les paramètres incompatibles dans cmakesettings, tels que les incompatibilités d’architectures ou les paramètres de générateur CMake incompatibles, sont marqués par des tildes dans l’éditeur JSON et par des erreurs dans la liste d’erreurs.
- La chaîne d’outils vcpkg est automatiquement détectée et activée pour les projets CMake qui sont ouverts dans l’IDE, une fois que
vcpkg integrate install
a été exécuté. Ce comportement peut être désactivé en spécifiant un fichier de chaîne d’outils vide dans cmakesettings. - Les projets CMake autorisent maintenant le débogage Uniquement mon code par défaut.
- Les avertissements d’analyse statique peuvent désormais être traités en arrière-plan et affichés dans l’éditeur pour les projets CMake.
- Nous avons ajouté des messages de début et de fin de génération et de configuration plus clairs pour les projets CMake, ainsi que la prise en charge de l’interface utilisateur de progression de génération de Visual Studio. De plus, il existe désormais un paramètre de niveau de détail CMake dans Outils > Options pour personnaliser le niveau de détail des messages de build et de configuration CMake dans la fenêtre Sortie.
- Le paramètre « cmakeToolchain » est désormais pris en charge dans CMakeSettings pour spécifier des chaînes d’outils sans modifier manuellement la ligne de commande CMake.
Back-end
- Nous avons implémenté des améliorations de débit de génération, notamment la gestion par l’éditeur de liens des temps d’E/S de fichier et d’édition de liens dans la création et la fusion de type PDB.
- Nous avons ajouté la prise en charge de base de la vectorisation SIMD OpenMP. Elle peut être activée avec le nouveau commutateur CL -openmp:experimental. Ainsi, les boucles annotées avec « #pragma omp simd » peuvent potentiellement être vectorisées. La vectorisation n’est pas garantie, et les boucles annotées mais non vectorisées généreront un avertissement. Si aucune clause SIMD n’est prise en charge, elles seront simplement ignorées et un avertissement sera signalé.
- Nous avons ajouté un nouveau commutateur de ligne de commande d’incorporation (inlining) -Ob3, qui est une version plus agressive d’-Ob2. -O2 (optimiser la vitesse du fichier binaire) implique toujours -Ob2 par défaut ; si vous constatez que le compilateur fournit une sous-incorporation, vous pouvez ignorer -O2 -Ob3.
- Pour prendre en charge la vectorisation manuelle des boucles contenant des appels de fonctions de bibliothèque mathématique et certaines autres opérations telles que la division d’entiers, nous avons ajouté la prise en charge des fonctions intrinsèques SVML (Short Vector Math Library) qui calculent les vecteurs équivalents 128 bits, 256 bits ou 512 bits. Pour obtenir les définitions des fonctions prises en charge, consultez le Guide des intrinsèques Intel.
- Optimisations nouvelles et améliorées :
- Simplifications arithmétiques et de pliage de constante pour les expressions à l’aide d’intrinsèques SIMD (vecteur), pour les formes float et integer
- Analyse plus puissante pour extraire des informations de flux de contrôle (instructions if/else/switch) afin de supprimer les branches toujours prouvées comme étant true ou false
- Amélioration du déroulement de memset de façon à utiliser les instructions de vecteur SSE2
- Amélioration de la suppression des copies de struct/classes inutiles, en particulier pour les programmes C++ qui transmettent par valeur
- Amélioration de l’optimisation du code à l’aide de memmove, par exemple pour les constructions std::copy ou std::vector et std::string
Dépréciations
- Le modèle de projet de test C++ managé n’est plus disponible. Vous pouvez continuer à utiliser le framework de test C++ managé dans vos projets existants mais, pour les nouveaux tests unitaires, utilisez l’un des frameworks de test natifs pour lesquels Visual Studio fournit des modèles (MSTest, Google Test) ou le modèle de projet de test C# managé.
- Le SDK Windows 8.1 n’est plus disponible dans le programme d’installation de Visual Studio. Mettez à niveau vos projets C++ vers la dernière version du SDK Windows 10. Si vous avez une dépendance dure envers la version 8.1, vous pouvez la télécharger à partir de l’archive de SDK Windows.
- Le ciblage de Windows XP ne sera plus disponible pour le dernier ensemble d’outils C++. Le ciblage de XP à l’aide de bibliothèques et du compilateur MSVC de niveau Visual Studio 2017 est toujours pris en charge et peut être installé par le biais de « Composants individuels ».
- Notre documentation décourage activement l’utilisation de Fusionner les modules pour le déploiement Visual C++ Runtime. Dans cette version, nous allons encore un peu plus loin en marquant nos MSM comme dépréciés. Envisagez la migration de votre déploiement central VCRuntime des MSM vers le package redistribuable.
- Les assistants ATL/MFC C++ suivants ne sont plus disponibles : Assistant Composant ATL COM+ 1.0, Assistant Composant ASP ATL, Assistant Fournisseur OLEDB ATL, Assistant Page de propriétés ATL, Assistant Consommateur OLEDB ATL, Consommateur ODBC MFC, classe MFC du contrôle ActiveX et classe MFC de la bibliothèque de types. Les exemples de code pour ces technologies sont archivés dans le dépôt GitHub VCSamples.
F#
Les améliorations apportées à F# dans Visual Studio 2019 concernent trois domaines majeurs :
- F# 4.6
- Améliorations de performances majeures pour les solutions de tailles moyenne et élevée
- Notre excellente communauté open source a fourni un travail considérable
F# 4.6
Cette version comprend le langage F# 4.6 :
- Des types d’enregistrements anonymes ont été ajoutés au langage, notamment la prise en charge complète des outils et la possibilité d’émettre des types dans des objets JavaScript par le biais du compilateur Fable.
- Parité de fonction de module ValueOption et de type ValueOption avec le type Option.
- Fonction tryExactlyOne pour les tableaux, listes et séquences, fournie par Grzegorz Dziadkiewicz.
Améliorations apportées au compilateur F# et à FSharp.Core
Le compilateur F# et FSharp.Core ont bénéficié de nombreuses améliorations, notamment de la part des contributeurs open source :
- Désormais, fsi.exe et fsc.exe utilisent par défaut .NET Framework 4.7.2, ce qui permet le chargement de composants ciblant ce framework ou une version antérieure de celui-ci (#4946).
- Nous avons optimisé les méthodes exécutées sur les struct et les enregistrements struct, ainsi que celles exécutées sur les classes et les enregistrements de classe (#3057).
- Nous avons optimisé le langage intermédiaire (IL) émis pour combiner la logique booléenne dans le code F# (#635).
- Nous avons optimisé l’utilisation de
+
avec des chaînes en F# pour effectuer le minimum d’appelsString.Concat
possible (#5560). - Nous avons résolu un problème dans le package FSharp.Core où certains répertoires supplémentaires contenant des ressources de test était inclus. FSharp.Core 4.5.5 et 4.6.1 doit disposer du correctif (#5814).
- Quand un attribut défini par l’utilisateur n’est pas hérité de la classe
Attribute
, un nouvel avertissement vous le signale, par Vasily Kirichenko. - La valeur
AssemblyInformationVersionAttribute
dans un fichier projet peut maintenant être définie à une valeur arbitraire pour permettre les scénarios comme SourceLink (#4822). - Un bogue qui provoquait une erreur interne du compilateur en présence d’une syntaxe non conforme dans les modèles actifs a été résolu par Steffen Forkmann (#5745).
- Un bogue qui ajoutait à tort le suffixe
Module
à un module dans un module récursif pour correspondre à un type où la seule différence était un paramètre générique a été résolu par BooksBaum (#5794). - Alan Ball a amélioré le message d’erreur qui s’affiche quand les paramètres de type ne sont pas placés à côté d’un nom de type (#4183).
- Le suffixe littéral
uint16
est maintenant correctement répertorié dans les messages d’erreur pour les littéraux numériques non valides. Ce changement a été effectué par Teo Tsirpanis (#5712). - Les messages d’erreur pour les expressions de calcul indiquent maintenant « expressions de calcul » à la place de
async
. Ce changement a été effectué par John Wostenberg (#5343). - Un message d’erreur qui s’affiche quand des
.dll
sont incorrectement référencées dans F# Interactive a été corrigé par Bartoz Sypytkowski (#5416). - Un bogue selon lequel les paramètres de type résolus statiquement ne pouvaient pas gérer l’appel d’un membre masquant un membre hérité a été corrigé par Victor Peter Rouven Müller (#5531).
- Plusieurs petites améliorations des performances ont été apportées au compilateur par Steffen Forkmann et Robert Jeppesen.
Amélioration des performances F#
Les performances des moyennes et grandes solutions dans Visual Studio 2019 ont également bénéficié d’améliorations. Nous avons résolu des problèmes très anciens, certains remontant à la toute première édition des outils F# pour Visual Studio. Nous avons également obtenu de l’aide de la part de l’excellente communauté open source F#.
- Nous avons réorganisé la manière dont le service de langage F# est initialisé par Roslyn. La coloration de type pour les solutions volumineuses doit en général apparaître plus tôt.
- Nous avons changé notre représentation du texte source pour éviter les allocations importantes au fil du temps, surtout avec les fichiers plus volumineux (#5935, #5936, #5937, #4881).
- Nous avons changé nos caches de build pour les petites modifications apportées aux fichiers afin d’utiliser beaucoup moins de mémoire (#6028).
- Nous avons modifié une fonctionnalité du compilateur qui suggère des noms quand des jetons non reconnus sont typés, afin de calculer ces suggestions uniquement à la demande, ce qui entraîne des réductions importantes de l’utilisation du processeur et de la mémoire quand vous tapez lentement dans des solutions de grande taille (#6044).
- Nous avons modifié IntelliSense pour qu’il n’affiche plus les symboles des espaces de noms non ouverts par défaut. Cela améliore notamment les performances d’IntelliSense dans les projets contenant de nombreuses références. Vous pouvez réactiver cette fonctionnalité dans les paramètres via Outils > Options > Éditeur de texte > F# > IntelliSense.
- Nous avons optimisé l’utilisation de la mémoire quand des fournisseurs de types sont utilisés pour générer de très grandes quantités de types fournis dans une liste de saisie semi-automatique (#5599).
- Une réduction de l’utilisation du processeur et de la mémoire à un algorithme de comparaison de chaîne interne pour suggérer des noms non reconnus a été résolue par Avi Avni (#6050).
- Une source notable d’allocations de chaîne de grande taille, en particulier pour les outils de l’IDE, a été corrigée par Avi Avni (#5922).
- Une source notable d’allocation de tas des objets volumineux provenant du calcul IntelliSense a été résolue par Chet balle (#6084)
Améliorations des outils F#
Outre les améliorations de performances, diverses améliorations ont été apportées aux outils F# pour Visual Studio 2019 :
- Le correctif de code d’ajout de l’instruction
open
ajoute maintenant par défaut l’instructionopen
en haut du fichier. - Nous avons corrigé un bogue où la présence de
match!
dans le code utilisateur invalidait les repères de la structure et les nœuds du plan du code dans les étendues suivantes (#5456). - L’éditeur applique maintenant aux valeurs
byref
,outref
etref
la couleur appropriée pour les champs d’enregistrement selon la colorisation des valeurs mutables (#5579). - Nous avons corrigé un bogue qui empêchait la refactorisation lors d’un changement de nom de reconnaître le caractère
'
dans les noms de symboles (#5604). - Nous avons corrigé un bogue de longue date qui faisait que le renommage des fichiers de script F# entraînait une perte de données de coloration (#1944).
- Nous avons nettoyé IntelliSense afin qu’il n’affiche pas les éléments non liés dans la liste quand vous appuyez sur la touche Retour arrière.
- Quand la mise en retrait « intelligente » est activée, le code F# collé dans l’éditeur est maintenant remis en forme en fonction de l’étendue appropriée déterminée par la position actuelle du curseur. Ce changement a été implémenté par Saul Rennison (#4702).
- Un problème où les options de l’éditeur F# ne se synchronisaient pas a été résolu par Jakob Majocha (#5997, #5998).
- Un bogue où IntelliSense dans un constructeur dans une clause
inherit
n’affichait pas le constructeur principal a été résolu par Eugene Auduchinok (#3699) - Plusieurs améliorations mineures au service de langage F# ont été apportées par Eugene Auduchinok.
Infrastructure open source F#
Nous avons terminé la migration de la base de code F# et des outils F# de façon à utiliser le SDK .NET. Cela simplifie considérablement le processus de contribution pour les développeurs, en particulier s’ils n’utilisent pas Windows. De plus, Jakob Majocha nous a aidés à nettoyer les documents pour les nouveaux contributeurs suite aux modifications apportées à la base de code.
Python
Nous avons pris en compte les commentaires des clients et avons largement amélioré la gestion des environnements Python dans Visual Studio 2019 :
- Nous avons ajouté une nouvelle boîte de dialogue Ajouter un environnement qui simplifie la création et l’ajout d’environnements virtuels et conda dans votre projet.
- Le programme d’installation de Visual Studio n’installe plus les versions complètes d’Anaconda pour réduire la taille des installations de Visual Studio et éviter les erreurs potentielles pendant les mises à niveau.
- Miniconda est fourni avec la charge de travail Python en tant que composant facultatif, ce qui vous permet de créer des environnements conda sans avoir à installer Miniconda/Anaconda.
- Vous serez désormais automatiquement invité à ajouter un environnement si un fichier requirements.txt (environnement virtuel) ou un fichier environment.yml (environnement conda) est présent à la racine de votre projet.
- Une nouvelle barre d’outils Environnements Python est disponible lors de la modification des fichiers Python. Cette nouvelle barre d’outils vous permet de basculer entre différents interpréteurs Python quand vous travaillez avec des projets, des espaces de travail Ouvrir un dossier ou des fichiers Python libres dans d’autres projets.
- Des améliorations ont été apportées à la qualité de la saisie semi-automatique dans Python IntelliSense, notamment concernant la détection des importations relatives et d’espaces de noms.
- Les modèles de projet Django ont été mis à jour pour prendre en charge Django 2.x.
- Les valeurs de retour de fonction sont maintenant affichées dans le débogueur Python.
- Vous pouvez désormais créer des sessions Visual Studio Live Share et collaborer sur du code Python avec d’autres utilisateurs de Visual Studio. Auparavant, Python était uniquement pris en charge quand vous rejoigniez des sessions créées à partir de Visual Studio Code.
JavaScript/TypeScript
- Nous avons ajouté la prise en charge de l’activation du débogage JavaScript dans les tests unitaires dans les projets Node.js. Cette fonctionnalité était très demandée par nos clients Node.js.
- Le service de langage JavaScript/TypeScript sera désormais chargé automatiquement dans les projets où le package NuGet TypeScript ou le package npm est installé (TypeScript 3.2 et versions ultérieures est pris en charge à partir du package NuGet, et TypeScript 2.1 et versions ultérieures est pris en charge à partir du package npm).
- Nous avons implémenté des améliorations de performances dans le service de langage suite à l’augmentation de la limite de mémoire sur le service de langage, afin de gérer les projets volumineux.
- Nous n’affichons plus les diagnostics des fichiers JavaScript/TypeScript fermés dans la liste d’erreurs par défaut.
- Le service de langage JavaScript hérité n’est plus disponible. Les utilisateurs avaient auparavant la possibilité de restaurer ce service de langage. Ils disposent maintenant d’un nouveau service de langage JavaScript intégré. Ce nouveau service de langage est basé sur le service de langage TypeScript, qui repose sur l’analyse statique. Cela améliore les performances des outils, et votre code JavaScript bénéficie de fonctionnalités IntelliSense plus riches, basées sur l’acquisition des définitions de type. Le nouveau service est léger et consomme moins de mémoire que le service hérité, offrant ainsi aux utilisateurs de meilleures performances quand leur code grossit.
Team Explorer et Azure DevOps
Nous avons apporté des améliorations à l’expérience liée aux éléments de travail Git avec Azure DevOps.
- Affectez des éléments de travail à vous-même ou à d’autres personnes avec le sélecteur d’identité. Par défaut, vous verrez une liste des personnes que vous avez récemment utilisées. Vous pouvez aussi utiliser la fonctionnalité de recherche pour rechercher d’autres membres dans votre organisation.
- Nous avons amélioré l’expérience #mentions dans le message de validation. Quand vous sélectionnez un élément de travail dans le sélecteur #mention, il est ajouté automatiquement à la liste Éléments de travail associés.
Mise en surbrillance des chemins chauds
- Nous avons ajouté la prise en charge de la mise en surbrillance des chemins réactifs dans les outils Utilisation de l’UC et Allocation d’objets .NET dans le Profileur de performances. Sélectionnez n’importe quelle fonction dans l’arborescence des appels et appuyez sur le bouton Chemin réactif pour développer le chemin réactif Utilisation de l’UC et Allocation d’objets .NET. Cette fonctionnalité vous permet d’identifier facilement les appels de fonction qui utilisent le pourcentage d’UC le plus élevé ou qui allouent le plus d’objets.
Outils .NET et ASP.NET
- Nous avons implémenté diverses petites améliorations de l’expérience utilisateur dans la page de synthèse de profil de publication (nouveaux en-têtes de section et actions/raccourcis) pour toutes les applications.
- Quand vous publiez des applications ASP.NET sur Azure App Service, la page de synthèse de profil de publication a maintenant une nouvelle section nommée « Dépendances ». Cette nouvelle section vous permet actuellement d’associer des ressources Stockage Azure et SQL Azure à votre instance de service d’application. D’autres services Azure seront normalement exposés par le biais de ce mécanisme à l’avenir.
- Utilisez des métriques de code avec les projets .NET Core pour bénéficier d’une meilleure compatibilité.
- Exportez les paramètres de l’éditeur dans un fichier Editorconfig en utilisant le bouton « Générer le fichier .editorconfig à partir des paramètres », accessible via Outils > Options > Éditeur de texte > C# > Style de code.
- Utilisez le nouvel analyseur Regex de Visual Basic et C#. Les expressions régulières sont maintenant reconnues, et vous pouvez utiliser les fonctionnalités de langage sur ces expressions. Les chaînes d’expression régulière sont reconnues quand une chaîne est passée au constructeur Regex ou quand une chaîne est immédiatement précédée d’un commentaire contenant la chaîne
language=regex
. Cette version comporte les fonctionnalités de langage suivantes : la classification, la correspondance d’accolade, la mise en surbrillance des références et les diagnostics.
- Vous pouvez maintenant utiliser l’analyse du code mort pour les membres privés inutilisés avec un correctif de code facultatif qui supprime la déclaration de ces membres.
- La fonctionnalité Rechercher des références utilisée sur un accesseur retourne maintenant uniquement les résultats pour cet accesseur.
- Nous avons ajouté un correctif de code permettant la génération d’une méthode de déconstruction.
- Vous pouvez ajouter des instructions « using » à du code collé dans un fichier. Un correctif de code apparaît après le collage de code reconnu pour vous inviter à ajouter les instructions import manquantes.
- Davantage d’actions de refactorisation et d’actions rapides sont maintenant disponibles avec « Ctrl+. » ou « Alt+Entrée » :
- Dans les cas où « await » est implicite mais omis, un nouvel avertissement du compilateur s’affiche.
- Pour la conversion d’une fonction locale en méthode.
- Pour la conversion d’un tuple en struct nommé.
- Pour la conversion d’un type anonyme en classe.
- Pour la conversion d’un type anonyme en tuple.
- Pour une boucle foreach vers une requête LINQ ou une méthode LINQ.
- Nous avons ajouté la prise en charge des applications ASP .NET Core exécutées dans Azure Kubernetes Service. Pour démarrer, consultez cet exemple docker sur GitHub.
- ASP.NET est désormais pris en charge dans l’outil Utilisation de l’UC du Profileur de performances.
- Vous pouvez maintenant utiliser Rechercher toutes les références (Maj+F12) et CodeLens pour afficher les résultats de la recherche dans les fichiers Razor (.cshtml) dans des projets .NET Core. Vous pouvez ensuite accéder au code identifié dans les fichiers Razor correspondants.
- Nous avons ajouté la prise en charge du ciblage des applications ASP .NET (core et bureau) qui s’exécutent sur des machines virtuelles ou groupes de machines virtuelles identiques Windows.
- Vous recevez désormais un avertissement quand vous effectuez une analyse du code à l’aide de FxCop. L’utilisation des analyseurs du compilateur .NET est maintenant la méthode recommandée pour l’analyse du code. Découvrez comment migrer vers les analyseurs de plateforme du compilateur .NET.
- Les modèles de projet PCL (bibliothèque de classes portable) ne sont plus disponibles, et la prise en charge de ce type de projet n’est pas installée par défaut. Les nouveaux projets ciblant plusieurs plateformes doivent avoir le type de projet .NET Standard. Les clients ayant besoin de la prise en charge des projets PCL doivent installer le composant séparément à partir de l’onglet Composants individuels dans le programme d’installation de Visual Studio.
- La commande « Project.CopyWebSite » n’est plus disponible. Cette fonctionnalité était uniquement disponible pour le type de projet « Site web » pour .NET. Elle permettait de synchroniser deux sites web pour qu’ils aient la même version de chaque fichier. Dans Visual Studio 2019, vous pouvez copier les fichiers à partir de la destination distante en dehors de Visual Studio, puis ouvrir le projet.
- Il n’est plus possible d’ouvrir un projet Site web à partir d’un emplacement FTP distant. Les utilisateurs de FTP peuvent copier les fichiers à partir de la destination distante en dehors de Visual Studio, ouvrir et modifier le projet, puis publier les fichiers pour les renvoyer (push) vers l’emplacement FTP distant.
- La charge de travail ASP.NET et web n’installe plus un environnement d’édition CoffeeScript personnalisé. Les bundles TextMate de Visual Studio sont plus appropriés pour travailler avec CoffeeScript.
- Les erreurs CSS et CoffeeScript actuellement générées par les copies intégrées de CSSLint et CoffeeLint ne s’affichent plus automatiquement quand vous modifiez ces fichiers. Utilisez une autre méthode pour exécuter des linters comme npm ou l’Explorateur de l’Exécuteur de tâches de Visual Studio.
- Visual Studio n’offre plus la fonctionnalité IntelliSense pour les attributs HTML de Knockout. Dans Visual Studio 2019, vous devez taper ces attributs.
- Il n’est plus possible d’utiliser le débogueur Chrome hérité dans les projets ASP.NET pour le débogage de JavaScript. Vous pouvez continuer à utiliser le débogueur Chrome actuel qui est intégré à Visual Studio.
- La possibilité d’utiliser les fonctionnalités de la console JavaScript dans les projets ASP.NET a été supprimée. Nous recommandons aux clients d’utiliser la console de leurs outils de développement de navigateur favoris.
Outils de conteneur
- Nous avons ajouté une expérience de projet unique simplifiée pour la mise en conteneur et le débogage :
- Applications web ASP.NET (.NET Framework)
- Applications console (.NET Core)
- Nous avons ajouté la prise en charge du débogage des applications ASP.NET Core qui utilisent Alpine comme image de base.
- Nous avons ajouté la prise en charge des images ASP.NET et .NET Core les plus récentes.
Outils .NET Core
.NET Core 3.0
Avec cette version, vous pouvez créer des projets ASP.NET Core, Console et Bibliothèque de classes ciblant .NET Core 3.0, à condition d’avoir installé le SDK en préversion.
Si vous utilisez Visual Studio RC, vous devez également accéder à Outils > Options > Projets et solutions > .NET Core et cocher la case Utiliser les préversions des SDK .NET Core. Si vous utilisez Visual Studio Preview, cette étape ne vous concerne pas. Pour en savoir plus sur ce paramètre et son comportement, consultez le billet de blog .NET Core tooling update for Visual Studio 2017 version 15.9.
Vous pouvez aussi créer des Windows Forms ou des projets WPF pour .NET Core 3.0 à l’aide de la commande « dotnet new ». Ces projets peuvent ensuite être ouverts dans Visual Studio 2019.
Nouvelles fonctionnalités
À compter de cette version, nous faisons des fichiers projet pour les projets de style SDK .NET un type de fichier de première classe dans Visual Studio. Les opérations suivantes sont maintenant prises en charge :
- Double-cliquez sur un nœud de projet pour ouvrir le fichier projet
- Cliquez sur le nœud du projet pour ouvrir le fichier projet sous un onglet Aperçu
- Recherchez un fichier projet par nom avec Atteindre tout (
ctrl + T
) - Vous pouvez désormais effectuer des recherches dans les éléments MSBuild d’un fichier projet avec l’option Rechercher dans les fichiers
- Ouverture à partir de la liste d’erreurs si une erreur de création de projet est déclenchée
En outre, les projets de style SDK .NET utilisent désormais la nouvelle expérience Console intégrée pour F5
et ctrl + F5
sur les applications console. Cela unifie l’expérience lors du lancement des applications console à partir de Visual Studio :
- Pour
F5
, la fenêtre de console ne se ferme pas automatiquement quand l’application a fini de s’exécuter. Vous n’avez plus besoin d’ajouter des appelsConsole.Read()
à vos applications console. - Pour
ctrl + F5
, la fenêtre de console est réutilisée lors des exécutions ultérieures de votre application. Vous n’avez plus besoin de fermer de nombreuses fenêtres de console.
Vous pouvez fermer automatiquement la nouvelle fenêtre de console en appuyant sur une touche quand elle est ouverte ou en sélectionnant l’option sous Outils > Options > Fermer automatiquement la console à l’arrêt du débogage.
La prise en charge des expressions de licence et des fichiers de licence a été ajoutée aux pages de propriétés de projet. Cela va de paire avec les changements visant à déprécier licenseUrl
dans NuGet.
Améliorations des performances
- La scalabilité des solutions de grande taille a été considérablement améliorée, autorisant l’utilisation de solutions .NET Core beaucoup plus grandes qu’auparavant.
- Les temps de chargement des solutions pour les grands projets ont considérablement diminué, tout comme l’utilisation du processeur et de la mémoire lors de leur chargement.
Parité des fonctionnalités avec les projets autres que .NET Core
- Un problème de longue date où les modifications de configuration n’étaient pas respectées au moment du design, forçant un rechargement du projet, a été résolu.
- Il est désormais possible d’atteindre la définition de Razor vers C# dans les projets ASP.NET Core.
- Les éléments AvailableItemName sont désormais pris en charge.
- L’imbrication automatique des fichiers dépendants est désormais prise en charge. Ils sont ajoutés au projet via l’utilisation des caractères génériques.
- La prise en charge de XamlAppDef a été ajoutée par William Kent.
Une liste complète des problèmes et demandes de tirage (pull requests) est disponible dans les jalons 16.0, 16.0 Preview 2, 16.0 Preview 3 et 16.0 Preview 4.
Productivité .NET
Correctifs de code et refactorisations .NET :
- Synchronisation de l’espace de noms et du nom du dossier
- Extraction des membres de la refactorisation avec des options de boîte de dialogue
- Retour à la ligne/retrait/alignement des listes de paramètres/arguments
- Conversion de type anonyme en tuple
- Utilisation d’un corps de bloc/expression pour lambda
- Inversion des expressions conditionnelles et des opérations logiques
- Fermeture automatique du bloc de commentaire avec « / »
- Conversion d’assignation composée
- Correction du problème selon lequel les variables implicitement typées ne pouvaient pas être constant
- Correcteur automatique pour remplacer
@$"
par$@"
lors de la saisie de chaîne textuelle interpolée - Complétion pour
#nullable enable|disable
- Correctif pour les paramètres et valeurs d’expression non utilisés
- Correctif afin d’autoriser Extraire l’interface à rester dans le même fichier
Catégorisation des références par Lecture/Écriture.
Ajout de l’option Editorconfig when_multiline pour csharp_prefer_braces.
De nouvelles couleurs de classification sont disponibles dans le SDK .NET Compiler Platform (également appelé Roslyn). De nouvelles couleurs par défaut, semblables aux couleurs Visual Studio Code, sont progressivement déployées. Vous pouvez ajuster ces couleurs dans Outils > Options > Environnement > Polices et couleurs ou les désactiver dans Environnement > Fonctionnalités en préversion en décochant la case Utiliser les couleurs améliorées. N’hésitez pas à nous écrire pour nous dire comment ce changement affecte votre flux de travail.
Débogage de JavaScript dans les projets ASP.NET
- Si vous avez ajouté un nouveau navigateur Google Chrome avec des arguments personnalisés à l’aide du menu « Naviguer avec... » pour votre projet ASP.NET, Visual Studio activera maintenant le débogage JavaScript pour votre application lors du démarrage du débogage. Vos arguments de lancement personnalisés pour Google Chrome seront appliqués lors du lancement de Chrome.
Outils ASP.NET et Azure Functions
- Visual Studio 2019 est fourni avec une nouvelle expérience de création de projets. Lors de la création de projets ASP.NET spécifiquement, Visual Studio propose des boîtes de dialogue supplémentaires qui révèlent les choix spécifiques à ASP.NET. Ces boîtes de dialogue supplémentaires ont été mis à jour pour correspondre au style visuel du reste de l’expérience.
- Depuis un certain temps maintenant, les informations d’identification de publication dans Visual Studio sont chiffrées et stockées dans le fichier utilisateur du profil de publication afin que vous n’ayez pas à les entrer de nouveau chaque fois que vous publiez votre application. En général, les fichiers utilisateur sont exclus par défaut du contrôle de code source, car ils sont susceptibles de contenir des informations secrètes et/ou personnelles qui ne doivent pas être partagées. Jusqu’à présent, si un profil de publication pour un projet Azure Functions était archivé dans le contrôle de code source, mais que le fichier utilisateur ne l’était pas, les informations d’identification de publication étaient manquantes et le profil de publication ne pouvait pas être réutilisé. Maintenant, nous autorisons que les informations d’identification soient modifiées et qu’un nouveau fichier utilisateur soit créé afin que le profil de publication puisse être réutilisé.
Assistant Performance
Dans Visual Studio 2019, les expériences de profilage qui étaient disponibles dans l’Assistant Performance ont été déplacées vers le Profileur de performances. L’outil Utilisation de l’UC pour l’échantillonnage et l’outil Instrumentation pour l’instrumentation se trouvent dans le Profileur de performances. En raison de ce changement, l’Assistant Performance n’est plus nécessaire et a été supprimé dans Visual Studio 2019. En outre, l’option d’échantillonnage a été supprimée dans les outils en ligne de commande d’analyse des performances de Visual Studio. Un autre outil en ligne de commande sera disponible à la place dans une future préversion.
Outils de test
- Vous pouvez maintenant cliquer avec le bouton droit sur des tests, des classes de test et des projets de test dans l’Explorateur de solutions pour exécuter ou déboguer des tests.
- À présent, les séries de tests détectent automatiquement l’architecture de processeur définie dans les propriétés du projet.
- Les outils de test de l’interface utilisateur OSS comme Selenium et Appium sont de plus en plus utilisés et comptent une grande communauté de support. Étant donné que ces frameworks sont devenus des normes dans le secteur, nous avons déprécié le test codé de l’interface utilisateur pour les tests fonctionnels automatisés de l’interface utilisateur. Visual Studio 2019 sera la dernière version de Visual Studio à proposer des fonctionnalités de test codé de l’interface utilisateur. Nous vous recommandons d’utiliser Selenium pour tester des applications web et Appium avec WinAppDriver pour tester des applications de bureau et UWP.
- Visual Studio 2019 sera la dernière version de Visual Studio à proposer des fonctionnalités de test de charge. Pour les clients qui ont besoin d’outils de test de charge, nous leur recommandons d’utiliser d’autres outils de test de charge comme Apache JMeter, Akamai CloudTest ou Blazemeter.
- Dans Visual Studio 2019, certaines API de fenêtre de test, qui étaient auparavant dites publiques mais qui n’ont jamais été officiellement documentées, ont été supprimées. Elles avaient été marquées comme déconseillées ou dépréciées dans Visual Studio 2017 pour avertir à l’avance les personnes chargées de la maintenance des extensions. À notre connaissance, très peu d’extensions avaient une dépendance sur ces API. Ces API incluent IGroupByProvider, IGroupByProvider, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken et SearchFilterTokenType. Si ce changement impacte votre extension, signalez votre problème sur le site de la Communauté des développeurs.
Outils Kubernetes Visual Studio
Les Outils Kubernetes Visual Studio, qui étaient auparavant disponibles en tant qu’extension distincte pour Visual Studio 2017, sont désormais intégrés à la charge de travail Développement Azure dans Visual Studio 2019.
Ajout de la prise en charge de Kubernetes à un nouveau projet
Pour ajouter la prise en charge de Kubernetes à un nouveau projet, ouvrez Visual Studio et sélectionnez l’option Créer un projet. Dans la fenêtre Créer un projet, recherchez Kubernetes et sélectionnez le modèle de projet Application conteneur pour Kubernetes.
Cliquez sur Suivant et entrez un nom de projet, un emplacement et un nom de solution. Ensuite, cliquez sur Créer. Sélectionnez le modèle d’application ASP.NET Core que vous souhaitez utiliser pour votre projet et cliquez sur OK. Visual Studio crée automatiquement un fichier Dockerfile et un graphique Helm que vous pouvez utiliser pour générer et déployer votre nouvelle application sur un cluster Kubernetes. Vous pouvez modifier ces artefacts en fonction des besoins.
Ajout de la prise en charge de Kubernetes à un projet existant
Vous pouvez également ajouter la prise en charge de Kubernetes à une application ASP.NET Core existante. Pour cela, ouvrez le projet dans Visual Studio 2019. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, pointez sur Ajouter, puis cliquez sur Prise en charge d’orchestrateur de conteneurs.
Dans la boîte de dialogue Ajouter la prise en charge d’orchestrateur de conteneurs, choisissez Kubernetes/Helm et cliquez sur OK. Visual Studio crée automatiquement un fichier Dockerfile et un graphique Helm (dans un dossier nommé charts) que vous pouvez utiliser pour générer et déployer votre application sur un cluster Kubernetes. Si l’un de ces artefacts est déjà en place, il n’est pas remplacé. Vous pouvez modifier ces artefacts en fonction des besoins.
Création d’un point de terminaison accessible publiquement
Quand vous ajoutez la prise en charge de Kubernetes à un projet nouveau ou existant, Visual Studio vous demande si vous souhaitez créer un point de terminaison accessible publiquement pour votre application.
Si vous cliquez sur Oui, Visual Studio configure le graphique Helm pour votre application afin de créer un objet d’entrée Kubernetes quand l’application est déployée sur un cluster Kubernetes. Vous pouvez changer cette option à tout moment en modifiant le graphique Helm.
Débogage de votre application dans Azure Kubernetes Service
Une fois que vous avez ajouté la prise en charge de Kubernetes à un projet nouveau ou existant, vous pouvez facilement générer, exécuter et déboguer votre application dans un cluster AKS (Azure Kubernetes Service) actif, à l’aide d’une fonctionnalité appelée Azure Dev Spaces. Ceci est utile pour tester votre projet dans le contexte d’un cluster Kubernetes réel ou pour déboguer un service qui fait partie d’une application plus grande sans avoir à répliquer toute l’application localement. Azure Dev Spaces propose également une fonctionnalité qui permet à votre équipe de développement de partager un cluster AKS. Pour plus d’informations sur Azure Dev Spaces, consultez la documentation Azure Dev Spaces. Pour commencer, vérifiez qu’Azure Dev Spaces est sélectionné comme cible de lancement de débogage dans Visual Studio.
Avant de lancer pour la première fois votre projet dans Dev Spaces, configurez l’abonnement Azure et le cluster AKS que vous souhaitez utiliser. Sélectionnez aussi l’espace dans lequel vous souhaitez exécuter le projet.
En règle générale, votre équipe exécute la dernière version stable de l’application entière dans l’espace par défaut. Ensuite, vous exécutez la version du service sur laquelle vous travaillez dans un espace enfant de l’espace par défaut. Il est désormais inutile d’exécuter les autres services dans l’espace enfant ; Dev Spaces achemine automatiquement les appels de votre service vers les versions stables des services en cours d’exécution dans l’espace par défaut. Pour plus d’informations sur la procédure de configuration, consultez les tutoriels sur le développement en équipe dans la documentation Azure Dev Spaces. Une fois que vous avez sélectionné l’abonnement, le cluster et l’espace appropriés, cliquez sur OK pour passer à la configuration de Dev Spaces. Si vous sélectionnez un cluster qui n’est encore associé à aucun contrôleur Dev Spaces, cliquez sur OK dans la boîte de dialogue suivante pour en créer un automatiquement.
La création du contrôleur prend environ deux minutes. Vous pouvez cliquer sur le bouton Tâches en arrière-plan dans le coin inférieur gauche de la fenêtre Visual Studio pour afficher l’état.
Une fois que vous avez un contrôleur Dev Spaces prêt à l’emploi, appuyez sur F5 ou cliquez sur le bouton de débogage Azure Dev Spaces dans la barre d’outils pour déboguer votre projet dans AKS.
Dev Spaces synchronisera votre code vers Azure, générera une image conteneur qui contient votre code, et la déploiera sur votre cluster AKS à l’aide du graphique Helm défini dans votre projet. Visual Studio ouvrira une connexion de débogage à distance avec le service en cours d’exécution dans le cluster afin que vous puissiez interagir avec lui comme vous le feriez lors du débogage d’un service s’exécutant localement.
Développement mobile avec Xamarin
Cette version inclut des améliorations apportées à la taille de la charge de travail, aux performances et à la fiabilité des build Android, et à la productivité dans Xamarin.Android et Xamarin.Forms.
- La charge de travail Xamarin est désormais de 7,69 Go seulement. Elle a donc été divisée par deux par rapport à Visual Studio 2017 version 15.9 et par trois par rapport à la version 15.7.
- L’extension IntelliCode prend désormais en charge XAML dans Xamarin.Forms.
Fichier > Nouveau projet
Nous avons apporté des améliorations de performances visant à réduire la durée nécessaire pour créer un projet Xamarin, afin que vous puissiez commencer à créer vos applications plus rapidement. Nous incluons maintenant les packages NuGet utilisés par les modèles dans le cadre de l’installation de la charge de travail, afin de réduire la durée de restauration de package, en particulier dans les scénarios hors connexion ou à faible bande passante. Ces améliorations réduisent dans certains cas de près de 50 % la durée nécessaire pour charger et restaurer entièrement un nouveau projet Xamarin.
Indicateur de progression de la build
Vous pouvez maintenant voir des informations plus détaillées sur la progression de la génération lors de la génération de vos projets. Cliquez sur l’icône de tâches en arrière-plan dans le coin inférieur gauche pendant une génération pour afficher la cible de génération en cours d’exécution. Cela peut être utile pour déterminer si la génération est toujours en cours d’exécution mais qu’une cible nécessite beaucoup de temps.
Mode Aperçu de base du Générateur d’aperçu Xamarin.Forms
Vous n’êtes plus obligé de générer votre projet pour que le Générateur d’aperçu XAML Xamarin.Forms vous montre un aperçu de votre code ! Si vous avez des contrôles personnalisés dans votre fichier XAML, vous devrez peut-être générer votre projet pour en afficher un aperçu, ou opter pour leur rendu au moment du design.
Menu déroulant de l’appareil du Générateur d’aperçu Xamarin.Forms
Vous pouvez désormais permuter entre différents appareils Android et iOS pour afficher un aperçu de votre XAML Xamarin.Forms grâce à notre nouveau menu déroulant d’appareil.
Panneau de propriétés Xamarin.Forms
Vous pouvez maintenant modifier les attributs les plus courants des contrôles, cellules et dispositions Xamarin.Forms dans un panneau de propriétés et voir immédiatement ces modifications répercutées dans votre code XAML.
Modèle de shell Xamarin.Forms
Nous avons mis à jour les modèles Xamarin.Forms pour utiliser la dernière version de Xamarin.Forms, et également ajouté une nouvelle option de modèle pour une application Shell Xamarin.Forms. Shell vise à réduire la complexité des applications tout en augmentant la productivité des développeurs, et est axé sur la vitesse de rendu et la consommation de mémoire. Ce modèle vous donne une application Shell amorcée pour Android et iOS.
Performances et fiabilité des builds Android
Dans Visual Studio 2017 version 15.9 et Visual Studio pour Mac 7.7, nous avons apporté des améliorations sur les performances des builds initiales et l’exactitude des builds. Dans Visual Studio 2019 et Visual Studio pour Mac 7.8, la génération et le déploiement de builds sont encore plus rapides qu’avant.
- Vous allez maintenant utiliser la nouvelle génération d’outils de packaging Android. Pour activer cette fonctionnalité, ajoutez un indicateur MSBuild dans le
.csproj
de votre projet :- aapt2 divise la mise en package Android en deux étapes : Compiler et Lier. Cela améliore les performances des builds incrémentielles et fournit des rapports sur les erreurs antérieures. Par exemple, si vous faites des modifications dans un seul fichier, vous n’avez que ce fichier à recompiler.
<AndroidUseAapt2>True</AndroidUseAapt2>
- aapt2 divise la mise en package Android en deux étapes : Compiler et Lier. Cela améliore les performances des builds incrémentielles et fournit des rapports sur les erreurs antérieures. Par exemple, si vous faites des modifications dans un seul fichier, vous n’avez que ce fichier à recompiler.
- En activant cet outil dans vos projets, vous améliorez les performances au moment de la génération et de l’exécution. Pour plus d’informations sur ces propriétés, consultez notre documentation sur le processus de génération dans Xamarin.Android.
Améliorations de l’émulateur Android
Dans Visual Studio 2019, les images de l’émulateur Android sont plus faciles à créer. Nous avons également continué à collaborer avec l’équipe Windows dans la mise à jour d’octobre 2018 de Windows 10, version 1809, pour améliorer les performances de l’émulateur Android exécuté sur Hyper-V.
- Les nouveaux utilisateurs peuvent créer leur première image simplement en appuyant sur l’icône d’exécution.
- L’expérience d’acquisition de l’émulateur détermine automatiquement la meilleure configuration pour votre installation et tire parti de l’accélération matérielle (avec Intel HAXM ou Hyper-V) et du démarrage rapide par défaut.
- Quand vous voulez créer une autre image, vous sélectionnez Créer un émulateur Android dans la liste déroulante pour ouvrir Android Device Manager.
Réduisez la durée des builds grâce à nos améliorations des builds dans Xamarin.Android
Nous avons publié un ensemble d’améliorations des performances de génération initiales. À ce jour, Xamarin.Android 9.1.1+ offre de nettes améliorations de performances par rapport à la version précédente. Pour plus d’informations, consultez Comparaison des performances de build entre Xamarin.Android 15.9 et 16.0.
Déploiement rapide amélioré pour Xamarin.Android
Le déploiement rapide a jusqu’à aujourd’hui fourni des durées de déploiement incrémentiel plus courtes en ignorant la reconstruction ou le redéploiement du package Android (fichier .apk) dans les scénarios où aucune modification n’a été apportée à des actifs, ressources, bibliothèques natives partagées empaquetées dans l’application ou classes définies par l’utilisateur qui héritent de Java.Lang.Object
.
Le déploiement rapide amélioré étend la prise en charge du déploiement rapide afin de couvrir à la fois les bibliothèques natives partagées et les classes qui héritent de Java.Lang.Object
. Les builds de déploiement rapide qui utilisent ces nouvelles améliorations doivent générer un nouveau fichier .apk dans un nombre limité de scénarios, par exemple quand le fichier AndroidManifest.xml change en raison de l’ajout d’une nouvelle sous-classe Android.App.Application
ou Activity
.
Ces améliorations ne sont pas encore activées par défaut dans la préversion actuelle. Pour les activer, affectez la valeur Assemblies:Dexes
à la propriété MSBuild $(AndroidFastDeploymentType)
dans votre fichier .csproj :
<PropertyGroup>
<AndroidFastDeploymentType>Assemblies:Dexes</AndroidFastDeploymentType>
</PropertyGroup>
Prise en charge du compilateur dex (d8) et du réducteur de code (r8) nouvelle génération dans Xamarin.Android
Xamarin.Android prend désormais en charge la dernière version du réducteur de code (r8) et du compilateur dex Android (d8).
Pour activer ces fonctionnalités, affectez respectivement les valeurs d8
et r8
aux propriétés MSBuild $(AndroidDexTool)
et $(AndroidLinkTool)
dans votre fichier .csproj
- d8 est un compilateur dex de nouvelle génération qui s’exécute plus rapidement et génère des fichiers .dex plus petits avec de meilleures performances d’exécution.
<PropertyGroup>
<AndroidDexTool>d8</AndroidDexTool>
</PropertyGroup>
- r8 est un nouvel outil de réduction et de minimisation qui convertit le code d’octet Java en code dex optimisé, ce qui rend l’utilisation de ProGuard inutile.
<PropertyGroup>
<AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>
Pour plus d’informations sur d8 et r8, consultez notre documentation.
Améliorations apportées de Xamarin.Android Designer
Nous avons apporté de nombreuses améliorations de productivité pour les interactions en mode Fractionné.
- Faites glisser et déposer les éléments de la boîte à outils directement dans l’éditeur de code source pour structurer plus rapidement vos dispositions Android.
- Sélectionnez les éléments directement à partir de l’étendue de leur définition XML dans l’éditeur de code source. Nous avons implémenté cela en synchronisant la position du signe insertion avec la vue Android correspondante, ce qui vous permet d’accéder rapidement aux propriétés d’un élément dans le panneau de propriétés directement à partir de l’éditeur.
- Affichez un aperçu intraligne des couleurs dans votre code XML afin de voir les couleurs utilisées dans vos contrôles.
- Utilisez notre fonctionnalité Info express en pointant sur une valeur pour afficher des informations supplémentaires, par exemple, l’emplacement où elle est définie ou la valeur hexadécimale associée à la couleur.
Améliorations du concepteur Xamarin.Android avec prise en charge initiale des dispositions de contraintes
Nous nous sommes donné comme mission d’améliorer la vitesse de démarrage d’Android Designer. Dans le cadre de cet effort, nous avons également amélioré les messages fournis par le concepteur pendant son chargement.
Outre ces améliorations, Android Designer assure désormais la prise en charge en mode natif d’Android Pie (9.0) et fournit la complétion automatique pour les attributs ConstraintLayout
.
Bénéficiez de meilleures optimisations des commentaires et d’IntelliSense pour XML avec Xamarin.Android Designer
Quand vous utilisez IntelliSense pour ajouter un widget à une disposition, une expérience complète d’extrait de code est désormais disponible afin que les attributs requis puissent être fournis dès le début. Nous avons ajouté l’ajout intelligent de marques de commentaires et l’annulation intelligente des marques de commentaires pour les dispositions XML Android.
Augmentez votre productivité en utilisant Atteindre la définition et utilisez IntelliSense XML dans les fichiers de ressources Android et dans AndroidManifest.xml
Vous pouvez désormais utiliser Ctrl + clic sur les URL de ressources pour accéder à la ligne ou au fichier où elles sont définies.
IntelliSense et l’autocomplétion sont maintenant pris en charge pour des fichiers XML Android autres que les dispositions (couleurs, chaînes, ressources Drawable, menu, manifeste Android, etc.).
Plateforme Windows universelle
- L’extension IntelliCode prend désormais en charge XAML.
- Pour réduire la taille et la complexité de l’installation de Visual Studio, les émulateurs Windows Phone ont été supprimés de l’installation de Visual Studio. Vous devez maintenant télécharger les émulateurs manuellement.
- Les outils de conception XAML pour les applications UWP ciblant les SDK Windows 10 SDK antérieurs à Windows 10 Fall Creators Update (build 16299) ont été supprimés. Reciblez vos applications vers Windows 10 version 1709 ou ultérieure pour utiliser le concepteur XAML, ou utilisez l’éditeur XAML.
- Les projets de test UWP utilisant
project.json
pour définir les dépendances NuGet ne sont plus pris en charge. Vous devez mettre à niveau ces projets pour utiliser le nouveau formatPackageReference
. - Les applications JavaScript UWP ne sont plus prises en charge dans Visual Studio 2019. Vous ne pouvez donc plus créer ni ouvrir de projets JavaScript UWP (fichiers avec l’extension
jsproj
). Pour plus d’informations, consultez notre documentation sur la création d’applications web progressives (PWA) qui s’exécutent correctement sur Windows. - Vous pouvez continuer à attacher des éléments aux applications JavaScript UWP comme avant, toutefois les outils de profilage JavaScript (réseau, processeur et profileur de mémoire) ne sont plus disponibles dans Visual Studio 2019.
Mises à jour des modèles des outils Office
Dans Visual Studio 2019, nous avons apporté quelques changements aux modèles Office, SharePoint et VSTO.
- Les modèles SharePoint 2019 qui ont été ajoutés dans Visual Studio 2017 version 15.9 sont également disponibles dans Visual Studio 2019.
- Nous avons supprimé la prise en charge du flux de travail séquentiel SharePoint et des flux de travail de machine à états. Vous ne pouvez pas créer ni ouvrir ces flux de travail dans Visual Studio 2019, mais vous gardez la possibilité de les modifier dans les versions précédentes de Visual Studio.
- Les modèles Office 2010 ne sont plus disponibles. Toutefois, vous pouvez toujours ouvrir des projets Office 2010 existants dans Visual Studio 2019.
- Les modèles Office 2013 et 2016 ont été renommés pour refléter leur compatibilité avec Office 2013 et les versions ultérieures.
Team Explorer et Azure DevOps
Nous proposons une nouvelle expérience, rationalisée et centrée sur les développeurs, quand vous vous connectez à un projet Azure DevOps à partir de Team Explorer.
Concentrez-vous sur les éléments de travail pertinents pour vous, en les filtrant et en orientant votre vue sur les éléments de travail qui vous ont été assignés, ceux que vous suivez, ceux où vous êtes mentionné dans la discussion et ceux basés sur votre activité.
- Dans chaque vue, vous pouvez créer un élément de travail intraligne, effectuer des modifications intraligne simples, marquer un élément de travail comme terminé et associer un élément de travail à des modifications en attente.
Créez une branche locale à partir d’un élément de travail pour lier automatiquement l’élément de travail aux modifications effectuées dans cette branche locale. Il s’agit de l’expérience par défaut. Si vous souhaitez basculer vers l’expérience héritée, vous pouvez activer l’expérience Éléments de travail dans Visual Studio. Notez que cette nouvelle expérience s’applique uniquement aux dépôts Git. La nouvelle expérience sera disponible pour les dépôts TFVC dans une mise à jour ultérieure.
Recherchez des éléments de travail en spécifiant #mention dans le message de validation des modifications en attente. Pour plus d’informations, consultez Afficher et ajouter des éléments de travail à l’aide de la page Éléments de travail.
La prise en charge de Microsoft Project a été supprimée du plug-in Intégration Office pour Team Foundation Server 2019 pour Visual Studio 2019 en raison d’un taux d’adoption faible dans Azure DevOps. Vous devez désormais exporter vos éléments de travail dans Excel et les coller manuellement dans Project.
La prise en charge de PowerPoint a été supprimée du plug-in Intégration Office pour Team Foundation Server 2019 pour Visual Studio 2019. Toutefois, les utilisateurs peuvent toujours créer des storyboards dans PowerPoint et les lier manuellement aux éléments de travail dans Azure DevOps.
Application Insights et HockeyApp
- La fenêtre Tendances Application Insights a été supprimée dans Visual Studio 2019 et remplacée par d’autres solutions offrant davantage de fonctionnalités. À la place, vous pouvez utiliser la fenêtre Recherche Application Insights dans Visual Studio ou les nombreux outils de diagnostics disponibles dans Application Insights dans le portail Azure.
- Les Assistants permettant d’ajouter le SDK HockeyApp et de créer des distributions bêta ont été supprimés. Nous vous recommandons d’utiliser à la place Visual Studio App Center, le successeur d’HockeyApp. Vous pouvez continuer à utiliser HockeyApp normalement, mais sans ces raccourcis dans Visual Studio.
Problèmes résolus dans Visual Studio 2019 RC
Dernière mise à jour : 26 avril 2019
- Value cannot be null. Nom du paramètre : pUnk lors de l’archivage du code dans TFS.
- Le sous-type Designer est ajouté inutilement aux fichiers xml comme csproj.
- TLS 1.0 : la requête a été abandonnée : Impossible de créer un canal sécurisé SSL/TLS.
- Explorateur de solutions : le défilement à l’aide du pavé tactile est trop sensible.
- [MSConnect 1173006] Une liste des tâches avec filtre défini sur Solution complète n’affiche pas les tâches quand le fichier est fermé.
- Xamarin.iOS ne peut pas sélectionner de ressource d’image pour la Recherche d’images.
- Erreur fatale C1001 : Une erreur interne s’est produite dans le compilateur.
- Visual Studio 2019 - EF6 edmx文件无法保存-VS 2019 Preview 1 - EF6 Impossible d’enregistrer le fichier edmx.
- [WebKit] une classe non définie n’est pas autorisée en tant qu’argument pour un trait de type intrinsèque du compilateur '__is_assignable' (régression).
- Visual Studio 2019 : Le gestionnaire de package NuGet a un faible contraste.
- Team Explorer - Modifications : la taille du panneau n’est pas adaptée à la fenêtre Team Explorer.
- La liste des serveurs de l’Explorateur d’objets SQL Server dans Visual Studio 2017 n’est pas conservée.
- Problèmes IntelliSense avec le mode linux-x64.
- L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection. Nom du paramètre : index.
- La fonctionnalité ANNULER dans Visual Studio 2017 ne fonctionne pas ou cesse de fonctionner (à nouveau signalé !!!) .
- IntelliSense ne fonctionne pas pour les fichiers créés sous WSL.
- Erreur IntelliSense : L’initialisation du membre constexpr statique C++11 provoque l’erreur « Le membre peut ne pas être initialisé ».
- Visual Studio ne restaure pas la position des fenêtres lors du passage en mode débogage ou de la sortie de ce mode.
- Les éléments de boîte à outils tiers sont rechargés à chaque démarrage de VS2019 Preview 2.2.
- « Définir comme projet de démarrage » provoque le plantage de l’IDE après la mise à jour vers VS2019 Preview Release 3.
- Échec de la génération de projet C++ Visual Studio 2017 dans Visual Studio 2019.
- Résolution du problème d’actualisation de boîte à outils.
- Les contrôles de boîte à outils rendent le fichier vssettings trop volumineux.
- SSDT : correctif pour les erreurs d’échec de connexion lors de l’exécution d’une fonction de comparaison de nouvelles données .
- SSDT : correctif pour l’erreur « Source indisponible » lors de l’exécution d’une comparaison de schémas .
- SSDT : correctif pour l’erreur selon laquelle « Script de génération de la comparaison de schémas » ne générait pas de script.
- La fenêtre « Recherche de la prochaine correspondance » dans le volet Rechercher dans les fichiers est gênante.
- Rechercher dans les fichiers cible toujours par défaut le document actif.
- Les références rapides figent VS 2019 RC.
- PackageId:MsSqlCmdLnUtils;PackageAction:Install;ReturnCode:1603;.
- La liste d’erreurs n’affiche pas d’erreurs, car elle cible le document actif.
- Impossible d’utiliser un point d’arrêt conditionnel sur la valeur PropertyInfo.Name.
- Visual Studio plante au moment de l’analyse de macros à la fin d’un fichier.
- La recherche dans Visual Studio 2019 est très lente.
- Visual Studio ne répond plus après le démarrage du débogage.
- vdproj n’est pas pris en charge dans Visual Studio 2019 RC.
- L’écran d’accueil du programme d’installation de Visual Studio contient un élément offensant pour les utilisateurs chinois.
- Le prérequis de l’extension VSIX a été supprimé dans Visual Studio 2019 RC, entraînant la perte de compatibilité de l’extension.
- Créer un projet à partir de l’écran d’accueil ne prend pas en compte le dossier du projet sélectionné.
- La boîte de dialogue des propriétés cpp ne s’affiche pas quand l’élément de menu Projet ou le menu déroulant « Gérer la configuration » est sélectionné.
- Visual Studio 2019 Build Tools : le titre de l’invite de commandes développeur indique « Invite de commandes développeur pour Visual Studio 2017 ».
- Traduction allemande concernant l’outil de commentaires : aide pour > Envoyer des commentaires > Signaler un problème.
- 自动完成功能,如果双击候选项,会丢失输入焦点,需要单机编辑器才能继续输入-La fonction d’autocomplétion, si vous double-cliquez sur le candidat, perd le focus d’entrée et nécessite un éditeur autonome pour continuer l’entrée de données.
- Les menus contextuels apparaissent parfois dans le mauvais écran dans une configuration multi-écran.
- Conflit entre Visual Studio 2019 et QQ Pinyin.
- Impossible de faire glisser une fenêtre Visual Studio agrandie.
- Violation d’accès avec Dernier projet de norme ISO C++ /CLI 15.9.5 depuis la version 15.9.5.
- La boîte de dialogue de progression modale reste ouverte en permanence même quand l’IDE est réactif (« Préparation de la solution », « Création de projet », Modifier et continuer, etc.).
- PackageId:OpenJDKV1;PackageAction:Uninstall;ReturnCode:0;.
- Visual Studio 2019 - La boîte à outils affiche tout le temps l’initialisation.
- IntelliSense dans les fichiers Razor (.cshtml) ne fonctionne pas. .
- La comparaison de schémas SSDT ne met pas en évidence les différences dans les fichiers.
- Exception Studio Visual lors de l’ouverture des fichiers cshtml Razor.
- Échec d’initialisation de l’extension.
- ASP Core : La création d’une vue affiche une erreur..
- VS 2019 RC--Impossible de créer Winforms (.Net Core) -- plusieurs erreurs.
- Les références de projet ne sont pas chargées après le basculement de branche.
- Erreur de génération de modèles automatique : Aucun générateur de modèles automatique n’est pris en charge pour cet élément.
- La configuration de charge fonctionne uniquement avant la fin de la première installation.
- Type de projet de liste déroulante = le texte est partiellement masqué quand « Agrandir le texte » est utilisé.
- Localisation incorrecte.
- La fenêtre de propriétés du Concepteur Forms affiche une barre de défilement verticale sans poignée de déplacement mise à l’échelle automatiquement sur un écran 4K dans Visual Studio 2019 RC.
- L’autocomplétion de Razor fonctionne, mais si vous appuyez sur entrée/tab, il utilise html.
- VSIXInstaller.exe plante de façon aléatoire lors de l’installation consécutive de plusieurs extensions dans Visual Studio 2019 RC.1.
- Le déplacement d’une} plante Visual Studio.
- Contrôles Telerik UI for WPF désactivés dans Visual Studio 2019 Preview 3 et 4.
- Exception System.OperationCanceledException non gérée.
- Visual Studio 2019 RC plante au démarrage quand un IME tiers (QQ Pinyin, Google IME) est utilisé.
- Visual Studio 2019 Preview 4 plante à la fermeture d’une fenêtre retirée du dock.
- Erreur IntelliSense : L’initialisation du membre constexpr statique C++11 provoque l’erreur « Le membre peut ne pas être initialisé ».
- La page de démarrage « Supprimer de la liste » cesse de fonctionner.
- $(VCIDEInstallDir) est un chemin non valide. Barre oblique inverse manquante dans Microsoft.Cpp.Common.props.
- Visual Studio 2019 Preview 2.0+ plante à l’ouverture du filtre de la solution.
- La barre d’outils Gérer les extensions lève une exception.
- Échec du test de compilateur de configuration CMake pour LLVM/clang-cl
- SSDT : correctif pour améliorer les performances du chargement des solutions avec plusieurs projets.
- SSDT : correctif pour le problème où les fichiers SQL n’étaient pas toujours supprimés quand une comparaison de schémas entre une base de données et un projet était effectuée et qu’une suppression de table était exécutée par la suite.
- SSDT : correctifs d’accessibilité pour améliorer les fonctionnalités de narration.
- SSDT : remplacement de l’ancien pilote sqlncli par un nouveau pilote Microsoft ODBC pour SQL Server.
- Nous avons résolu le problème de lenteur lié au rechargement de plusieurs projets C# et Visual Basic.
- Si IntelliSense est utilisé, quand un utilisateur entre Maj+Entrée, la sélection active est exécutée et une nouvelle ligne est insérée.
- Nous avons résolu le problème lié à PMA au cours duquel les info-bulles et l’ampoule ne s’affichaient pas correctement dans l’éditeur.
- Les notifications sur les plantages causés par les extensions s’affichent de nouveau maintenant.
- Les notifications concernant les performances de Visual Studio ont été sécurisées contre la falsification.
- Nous avons corrigé le problème de rendu qui se produisait lorsque la barre d’outils était déplacée d’un écran à l’autre.
- Nous avons corrigé le problème d’affichage de la boîte de dialogue Outils Options qui se produisait lorsque la résolution par écran était activée.
- Plusieurs classes DpiHelper ont été dépréciées (extensibilité).
- Nous avons corrigé la mise à l’échelle de l’écran de démarrage pour mieux s’adapter au facteur d’échelle de l’écran principal.
- Nous avons corrigé un problème concernant l’importation des paramètres où les avertissements et les erreurs n’étaient pas toujours signalés correctement.
- Nous avons corrigé un problème où Outils Options signalait un rendu logiciel sans prendre en compte le niveau de rendu.
- Nous avons corrigé un problème où le nom du dossier ouvert ne s’affichait pas dans la zone de la barre de titre.
- Nous avons corrigé le problème de positionnement de l’option Rechercher dans les fichiers qui se produisait lorsque la résolution par écran était activée.
- Nous avons corrigé le problème concernant le rendu des ornements du panneau d’ancrage qui se produisait lorsque la résolution par écran était activée.
- Vous pouvez maintenant utiliser le débogage de type voyage dans le temps avec le débogueur de capture instantanée sur les applications ASP.NET exécutées sur une machine virtuelle Azure. Veuillez noter que cette fonctionnalité peut ne pas marcher dans toutes les régions Azure lors de sa publication.
- Nous avons mis à jour la génération de modèles automatique Dockerfile dans Visual Studio Tools pour Kubernetes pour qu’elle utilise le Registre de conteneurs Microsoft au lieu de Docker Hub.
- Nous avons résolu un problème dans Visual Studio Tools pour Kubernetes, lors duquel la modification de Dockerfile.develop n’entraînait pas le redéploiement du service.
- Nous avons résolu un problème dans Visual Studio Tools pour Kubernetes, lors duquel un service d’un projet Azure Dev Spaces ne pouvait pas démarrer.
- Nous avons résolu un problème dans Visual Studio Tools pour Kubernetes, lors duquel un service d’un projet Azure Dev Spaces s’arrêtait après l’arrêt du débogage dans Visual Studio.
- Nous avons résolu un problème dans Visual Studio Tools pour Kubernetes, lors duquel une erreur de type « référence null » pouvait s’afficher lors de la sélection de comptes dans la boîte de dialogue Azure Dev Spaces.
- Nous avons résolu un problème dans Visual Studio Tools pour Kubernetes, lors duquel la boîte de dialogue de sélection des clusters s’affichait au moment d’ajouter la prise en charge de l’orchestration Kubernetes.
- Nous avons corrigé le problème d’affichage de l’Assistant Importer et exporter des paramètres en cas d’exécution par moniteur.
- Nous avons corrigé le dimensionnement de la boîte de dialogue Nouveau projet en cas d’exécution par moniteur.
- Nous avons apporté plusieurs améliorations visuelles à la fenêtre de démarrage.
Problèmes connus
Passez en revue tous les problèmes connus et les solutions de contournement disponibles dans Visual Studio 2019 version 16.0 en suivant le lien ci-après.
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 2019
Pour plus d’informations sur les versions précédentes de Visual Studio 2019, consultez la page Historique des notes de publication de Visual Studio 2019.