Notes de publication Visual Studio 2019 version 16.10
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 version la plus récente, veuillez vous rendre sur le site de Visual Studio.
Nouveautés dans Visual Studio 2019 version 16.10
Délai de prise en charge
Cette version n’est plus prise en charge. Pour plus d’informations sur la prise en charge de Visual Studio, consultez la Stratégie de prise en charge pour Visual Studio 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 de Visual Studio 2019 version 16.10
- 20 juillet 2021 : Visual Studio 2019 version 16.10.4
- 29 juin 2021 : Visual Studio 2019 version 16.10.3
- 15 juin 2021 : Visual Studio 2019 version 16.10.2
- 08 juin 2021 : Visual Studio 2019 version 16.10.1
- 25 mai 2021 : Visual Studio 2019 version 16.10.0
Notes de publication archivées de Visual Studio 2019
- Notes de publication sur Visual Studio 2019 version 16.9
- Notes de publication Visual Studio 2019 version 16.8
- Notes de publication de Visual Studio 2019 version 16.7
- Notes de publication de Visual Studio 2019 version 16.6
- Notes de publication de Visual Studio 2019 version 16.5
- Notes de publication de Visual Studio 2019 version 16.4
- Notes de publication de Visual Studio 2019 version 16.3
- Notes de publication de Visual Studio 2019 version 16.2
- Notes de publication de Visual Studio 2019 version 16.1
- Notes de publication de Visual Studio 2019 version 16.0
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 trouverez des informations détaillées sur les versions de Visual Studio 2019 dans les billets de blog suivants :
- Visual Studio 2019 v16.10 et v16.11 préversion 1 disponibles aujourd’hui !
- Productivité accrue avec Git dans Visual Studio
- Disponible aujourd’hui ! Visual Studio 2019 v16.9 et v16.10 préversion 1
- Visual Studio 2019 v16.9 préversion 3 disponible aujourd’hui !
- Visual Studio 2019 v16.9 Preview 2 et nos bons vœux pour la Nouvelle année !
- Visual Studio 2019 v16.8 et v16.9 Preview disponibles aujourd’hui
- Nouvelles fonctionnalités dans Visual Studio 2019 v16.8 Préversion 3.1
- Visual Studio 2019 v16.8 Preview 2 publie de nouvelles fonctionnalités aujourd’hui !
- Publication de Visual Studio 2019 v16.7 et v16.8 Preview 1 aujourd’hui !
- Visual Studio 2019 v16.7 Preview 2 disponible aujourd’hui !
- Nouvelles mises à jour intéressantes de l’expérience Git dans Visual Studio
- Publication du jour : Visual Studio 2019 v16.6 et v16.7 Preview 1
- Visual Studio 2019 version 16.6 Preview 2 vous propose de nouvelles fonctionnalités
- Visual Studio 2019 version 16.5 est maintenant disponible !
- « C’est le moment pour la mise en production de Visual Studio 2019 v16.4
- Visual Studio 2019 v 16.4 Preview 2, Fall Sports et Pumpkin Spice
- Prise en charge de .NET Core et bien plus encore dans Visual Studio 2019 version 16.3 - Procédez dès maintenant à la mise à jour !
- Publication de Visual Studio 2019 version 16.3 Préversion 2 et de Visual Studio 2019 pour Mac version 8.3 Préversion 2 !
- Visual Studio 2019 version 16.2 et 16.3 Preview 1 maintenant disponible
- Visual Studio 2019 version 16.2 Preview 2
- Visual Studio 2019 version 16.1 et 16.2 Preview 1
- Visual Studio 2019 : codez plus rapidement. Travaillez plus intelligemment. Créez l’avenir.
Visual Studio 2019 version 16.10.5
Résumé des nouveautés de cette mise en production de Visual Studio 2019 version 16.10.5
Cette version de Visual Studio 2019 est disponible uniquement via Windows Software Update Service (WSUS).
Principaux problèmes résolus dans cette version
- Le simulateur distant iOS fonctionne désormais correctement avec les appareils Mac appariés sur lesquels Xcode 12.4 ou 12.5 est installé. Les fonctionnalités de simulateur Xcode suivantes ne sont pas disponibles lorsqu’elles sont associées à des appareils Mac avec Xcode 12.4, ou une version ultérieure, installé :
- Avertissement de mémoire simulée
- Emplacements simulés
Avis de sécurité Microsoft
CVE-2021-26423 Vulnérabilité de déni de service dans .NET Core
Une vulnérabilité de déni de service existe, où des applications serveur .NET (Core) fournissant des points de terminaison WebSocket peuvent être amenées dans une boucle sans fin pendant la tentative de lecture d’une seule image WebSocket.
CVE-2021-34485Vulnérabilité de divulgation d’informations dans .NET Core
Une vulnérabilité de divulgation d’informations existe quand des images mémoire créées par l’outil pour collecter des images mémoire d’incident et des images mémoire à la demande sont créées avec des autorisations de lecture générales sur Linux et macOS.
CVE-2021-34532Vulnérabilité de divulgation d’informations dans .NET Core
Une vulnérabilité de divulgation d’informations existe, où un jeton JWT est journalisé s’il ne peut pas être analysé.
Visual Studio 2019 version 16.10.4
Résumé des nouveautés de cette mise en production de Visual Studio 2019 version 16.10.4
Principaux problèmes résolus dans cette version
- Suppression de l’utilisation des registres non autorisés dans memset.
- Correction d’un bogue codegen impliquant des expressions imbriquées complexes impliquant l’opérateur de bits Not.
- Correction du débogage du nuanceur pour VS Graphics Analyzer
- Correction d’un incident IntelliSense qui s’est produit lors du traitement des membres de données statiques dans des spécialisations de modèle en classe.
- X64 VC Redist ne supprime plus les fichiers runtime lors de l’exécution avec les commutateurs /installer /passive.
- Correction d’un problème dans lequel l’ordre de recherche Include peut être incorrect lorsqu’il est ajouté aux « Répertoires Include ».
- Nous avons résolu le problème de performances et les faux positifs causés par l’une des extensions de vérificateur qui détectent des bogues en cas d’utilisation incorrecte des VARIANT.
- Nous avons résolu le problème de performances provoqué par l’une des extensions de vérificateur qui détecte des bogues en cas d’utilisation incorrecte des valeurs d’énumération en tant qu’index.
- Présente le correctif des services de langues Live Share qui restaure les principales fonctionnalités de modification de code pour les participants à la session de collaboration (complétion du code, mise en surbrillance de la syntaxe, erreurs, etc.)
- L’analyseur de concurrence ne doit plus produire de faux avertissements C26110 (échec de l’acquisition du verrou) avec des modèles de verrouillage automatique.
- Les compilateurs C# et Visual Basic ont corrigé un incident impliquant InternalsVisibleTo en conflit avec d’autres attributs au niveau de l’assembly.
- Nous avons résolu un problème rencontré par les clients qui empaquetaient leurs projets avec des projets de création de packages d’applications Windows, tels que des applications WPF NetCore et des applications Project Reunion :
Fichier de ressources d’erreur '...\obj\wappublish\win10-x86\project.assets.json' introuvable. Exécutez une restauration de package NuGet pour générer ce fichier. App4 (Package) C:\Program Files\dotnet\sdk\5.0.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 242
Ce problème était dû au fait que le projet d’empaquetage recherche le fichier project.assets.json dans le mauvais répertoire, win10-$(configuration), quand il doit rechercher dans win-$(configuration).
À partir de Developer Community
- Erreurs de compilation pour les en-têtes externes
- Avertissements de verrouillage incorrects par l’analyseur C26110
- Une erreur du compilateur interne se produit après la mise à niveau vers Visual Studio v16.10 lorsqu’un assembly est déclaré dans l’attribut InternalsVisibleTo
- Vcredist_x64.exe (14.29.30038.0) fourni avec Visual Studio 16.10.2 supprime incorrectement msvcp140.dll après la deuxième installation à l’aide du commutateur /passive
- Problème de génération de code VS 16.10.1 (x86 uniquement)
- Address Sanitizer doit autoriser le déclenchement des images mémoire après incident t sans utiliser de variable d’environnement
- Graphics Analyzer cesse de fonctionner quand on clique sur le triangle après le nuanceur de sommets pour démarrer le débogage du nuanceur
- Vsftest : test de NMI
- Problème de publication de Project Reunion
- L’outil dans LKG12 WAVE2 a besoin de mises à jour avant qu’il ne soit fourni
- Impossible d’empaqueter une application WinUI 3 dans MSIX
- Débogueur Graphics : le débogage du nuanceur ne fonctionne plus après la mise à jour vers la version 16.10.3 ?
- Impossible d’empaqueter une application WinUI 3 avec Project Reunion 0.8
Visual Studio 2019 version 16.10.3
Publication : 29 juin 2021
Résumé des nouveautés de cette mise en production de Visual Studio 2019 version 16.10.3
Principaux problèmes résolus dans cette version
- Résolution d’un problème où la fonction Atteindre la définition sur les symboles importés à partir de modules passe parfois au début du fichier de module plutôt qu’à la définition du symbole.
- Correction d’un problème où les développeurs malvoyants rencontraient des difficultés à identifier le focus sur l’écran, car le rapport de luminosité de la couleur de la bordure est inférieur à 3:1 pour la zone de texte.
- Correction du projet de base de données : le glissement d’un fichier à partir de l’explorateur de solutions vers un fichier ouvert supprime le fichier du système de fichiers.
- Correction d’un problème où l’utilisation d’une instruction de fusion dans les projets de base de données entraîne des erreurs de génération.
- Les chemins d’accès au disque ne sont plus envoyés lorsqu’il s’agit de signaler les extensions installées.
- Corrige un problème où la tentative de fermeture de la fenêtre de démarrage rapide peut entraîner le plantage de Visual Studio.
- Résolution d’un problème où l’affichage des fenêtres d’outils bloque parfois VS.
- Correction de C++ Modifier et Continuer dans le code utilisateur lorsque des symboles générés par G++/GCC non liés sont chargés dans l’application.
- Corrige les utilisations du sélecteur privé à partir de l’infrastructure iAd.
- Correction d’un incident dans VS qui résulte d’erreurs survenues dans le Concepteur XAML
- Correction d’un problème avec les projets de création de packages d’applications Windows qui référencent des projets .netcoreapp générant un fichier .msixbundle.
- Correction d’une défaillance de vérification de mise à jour rapide des projets WAP qui entraîne la génération de ces projets (au lieu d’être ignorés), même si le projet est à jour et n’a pas besoin de modifications, ce qui provoque à nouveau une augmentation des temps de génération incrémentiels dans l’environnement de développement intégré (IDE).
À partir de Developer Community
[C++, IntelliSense, 16.7.7]
La taille du pointeur de fonction membre est incorrecte dans l’info-bulle- 16.9.2 Blocage en travaillant sur un projet SQL Server
- C++20 IntelliSense fournit des erreurs incorrectes avec range-v3 version 0.10.0
- Problème IntelliSense avec les modules
- Xamarin Forms iOS SkiaSharp DirectoryNotFoundException
- Problème de l’éditeur de mise en production version 16.10.0 : impossible de naviguer dans le code à l’aide de la zone de liste modifiable des éléments
- Modules C++ 20 : lorsque vous cliquez sur « Atteindre la déclaration », la position de saut du curseur est incorrecte
- L’option « Activer le flux de code de l’appareil lors de l’ajout d’un compte » est manquante dans la version 16.10
- VS 2019 16.10.0 PackageInspectionFailed : échec du chargement de Info.plist à partir du pack, Aucun fichier ou répertoire de ce type
- Le package App Store contient des fichiers 32 bits
- 16.10.2 ne se connecte pas à Mac
- vsftest : test de NMI
Visual Studio 2019 version 16.10.2
Publication : 15 juin 2021
Résumé des nouveautés de cette mise en production de Visual Studio 2019 version 16.10.2
Principaux problèmes résolus dans cette version
- Les contrôles d’accès concurrentiel dans l’analyse du code sont plus intelligents. Ils sont plus difficiles à tromper avec un flux de contrôle complexe.
- Ce correctif restaure le comportement des en-têtes externes en ignorant l’analyse des en-têtes externes et en supprimant les avertissements des en-têtes externes.
- Correction des fichiers .aspx/ascx où les utilisateurs peuvent voir IntelliSense incomplet ou subir des lenteurs.
- Correction des problèmes de scalabilité avec le fournisseur Unity CodeLens lorsque l’on travaille sur de gros projets.
- Rétablissement des chaînes traduites dans la page des options d’authentification du service Azure.
- Correction des problèmes d’affichage de code visuel intermittent lors de l’utilisation de l’extension Resharper.
- Correction d’un problème où certaines fenêtres d’outils, certains éditeurs et certains concepteurs étaient trop petits pour afficher du contenu.
- Corrige les problèmes d’icône d’application manquante de Xamarin iOS, soit lors de l’exécution d’une application, soit lors de sa tentative de publication sur l’App Store.
- La création de projets avec AOT+LLVM n’échoue plus avec une erreur XA3001.
- Après la mise à niveau vers Visual Studio 2019 version 16.10, dans certaines circonstances, la publication d’applications UWP peut échouer avec le message d’erreur « Le nom de ressource spécifié est introuvable dans le fichier image ». Ce problème est maintenant résolu.
- Correction d’un problème entraînant l’arrêt de la réponse de Visual Studio 2019 lorsque la configuration de l’appareil change.
- Correction de trois problèmes dans MSBuild :
- Évite les erreurs MSB4017 lors de la génération dans Azure DevOps.
- $(
[MSBuild]
::MakeRelative()) conserve à nouveau les barres obliques finales dans son entrée. - Exclusion des globs avec un motif ** de fin, exclure à nouveau les fichiers sans . caractères
À partir de Developer Community
- Developer Community contient une liste complète de tous les éléments d’expédition dans cette version.
- ClickOnce ne publiera pas de projet.
- ClickOnce Publish pour .NET 5.0 échoue lorsque SelfContained=true et que le projet fait référence à un autre projet.
- ClickOnce ne fonctionne pas à nouveau.
- ClickOnce Publish : impossible de trouver le fichier de métadonnées (répertoire incorrect utilisé), la publication fonctionne sur l’interface CLI
- ClickOnce tente de collecter des bibliothèques à partir du mauvais dossier lors de la publication ! (.Net 5)
- Après la mise à jour de Visual Studio 2019 version 16.10.0 la génération ClickOnce ne fonctionne pas.
- Générer la régression dans la version 16.10.0 avec EWDK
- Publish a rencontré une erreur.
Visual Studio 2019 version 16.10.1
publication : 08 juin 2021
Résumé des nouveautés de cette mise en production de Visual Studio 2019 version 16.10.1
Principaux problèmes résolus dans cette version
- Correction d’un problème à l’origine d’un incident avec le compilateur IntelliSense.
- Correction d’un problème qui pouvait entraîner la fermeture d’instances Visual Studio 2019 si l’Explorateur de tests est ouvert dans la solution.
- Correction d’un échec lorsque les développeurs généreraient des solutions partielles à partir de la ligne de commande.
- Correction d’un échec dans ClickOnce Publish pour les applications .NET Core.
- Résolution d’un problème où la fenêtre de pile des appels peut bloquer Visual Studio 2019.
- Correction de l’erreur de build « Impossible de trouver le fichier de métadonnées '***\bin\Debug\NativeLibrary.dll' » lors de la génération de projets de liaison iOS.
Avis de sécurité Microsoft
CVE-2021-31957 Vulnérabilité de déni de service dans ASP.NET
Il existe une vulnérabilité de déni de service quand ASP.NET Core gère incorrectement la déconnexion du client.
À partir de Developer Community
- Developer Community contient une liste complète de tous les éléments d’expédition dans cette version.
- Générer la régression dans la version 16.10.0 avec EWDK
Visual Studio 2019 version 16.10.0
Publication : 25 mai 2021
Résumé des nouveautés de cette mise en production de Visual Studio 2019 version 16.10.0
C++
- Toutes les fonctionnalités C++20 sont désormais disponibles sous le switch
/std:c++latest
. Bien que l’implémentation par MSVC des normes C++20 (telles qu’actuellement publiées par ISO) soit pleinement fonctionnelle, certaines fonctionnalités clés de la bibliothèque C++20 sont censées être amendées par de prochains rapports de défauts (correctifs de bogues ISO C++20) susceptibles de les modifier d’une manière incompatible avec ABI. Pour plus d’informations, consultez Microsoft/STL Issue #1814.- Fonctions immédiates C++20 et prise en charge de constinit ajoutées dans la version 16.10
- Pièces finales de
<chrono>
: nouvelles horloges, secondes intercalaires, fuseaux horaires et analyse - Implémentation de
<format>
pour la mise en forme du texte
/openmp:llvm
est désormais disponible sur x86 et ARM64, en plus de x64- Les répertoires Include peuvent désormais être désignés comme externes avec des niveaux d’avertissement de compilation personnalisés et des paramètres d’analyse du code.
- Ajout du switch
/await:strict
pour activer les coroutines de style C++20 dans les modes de langage antérieurs. - La visualisation du débogueur de
std::coroutine_handle<T>
affiche désormais le nom et la signature de la fonction de coroutine d’origine, ainsi que le point de suspension actuel. - Ajout de la prise en charge de CMakePresets.
- Vous devez maintenant accepter ou refuser l’empreinte digitale de la clé hôte présentée par le serveur lors de l’ajout d’une nouvelle connexion à distance dans Visual Studio.
- Ajout d’un commutateur
/external
à MSVC pour spécifier des en-têtes qui doivent être traités comme externes à des fins d’avertissement.
Améliorations apportées aux outils Docker
- Possibilité de créer un profil de lancement qui configure les services à démarrer dans votre fichier Compose.
- Possibilité d’étiqueter une image.
- Ajout d’un onglet Volumes pour les conteneurs.
- Ajout d’un onglet Étiquettes pour les conteneurs.
- Ajout d’un onglet Étiquettes pour les images.
- Les conteneurs sont désormais regroupés par projet Compose.
Éditeur
- Pour les personnes qui souhaitent une expérience moins chargée, l’espacement des lignes peut être modifié en recherchant « espacement de ligne » dans la recherche Visual Studio (Ctrl+Q). L’option se trouve sous Éditeur de texte\Général.
- Les fonctions Rechercher dans les fichiers et Rechercher toutes les références disposent d’un contrôle permettant de conserver les résultats. En fonction des commentaires de notre communauté, nous avons ajouté une option pour activer l’option « Conserver les résultats » par défaut. Cette option est disponible en recherchant « Conserver les résultats de recherche par défaut » dans la recherche Visual Studio (Ctrl+Q). L’option se trouve sous Environnement\Rechercher et Remplacer. Notez que les utilisateurs sont actuellement limités à 5 résultats pour la fonction Rechercher dans les fichiers et 5 résultats supplémentaires pour la fonction Rechercher toutes les références.
- Une nouvelle option dans la fonction Rechercher dans les fichiers permet aux utilisateurs d’exécuter des recherches supplémentaires et d’ajouter ces résultats à une recherche précédente.
Extensibilité de l’éditeur
- Le comportement du code qui gère IntraTextAdornmentTags a changé. Avec cette modification, comme avec n’importe quel autre ITagger, vous devez déclencher un événement de modification des étiquettes lorsque les étiquettes sous-jacentes changent. Dans le cas contraire, il se peut que vos étiquettes ne soient jamais mises à jour.
- L’analyse de diagnostic des images mémoire inclut désormais des images mémoire centrales Linux managées.
- Accédez au web avec des liens profonds pour créer une demande de tirage (pull request) et afficher des demandes de tirage sur GitHub ou Azure DevOps à partir du menu Git.
- Validez les branches locales et distantes avec une sélection unique dans le sélecteur de branches.
- Supprimez les éléments du sélecteur de référentiels via le menu contextuel.
- Activez le chargement automatique de la solution lors de l’ouverture d’un référentiel Git via les paramètres > Git.
- Activez/désactivez le comportement de double-clic pour extraire les branches de la fenêtre de référentiel Git via les paramètres > Git.
- Synchronisez (Extraire puis Envoyer) votre branche avec plusieurs dépôts distants à partir du menu dépassement de capacité de la fenêtre Modifications Git.
- Personnalisez vos actions de barre d’outils visibles de la fenêtre Modifications Git (Récupérer, Extraire, Envoyer, Synchroniser) dans le menu de dépassement de capacité.
- Ouvrez votre référentiel dans le navigateur à partir du menu dépassement de capacité de la fenêtre Modifications Git.
- Recherchez et extrayez des branches locales et distantes à partir de la barre d’état.
- Recherchez et basculez entre les référentiels Git locaux à partir de la barre d’état.
- Correction d’un problème où la liste des référentiels locaux dans le menu Git ne se chargeait pas lors du lancement de Visual Studio.
- Ajoutez des sous-référentiels de projet imbriqués à votre liste de référentiels locaux lors de l’ouverture d’un référentiel.
- Laissez la solution ouverte lors du basculement de référentiels via les paramètres > Git.
- Désactivez le dossier ouvert lors de l’ouverture de référentiels via les paramètres > Git.
- Synchronisez votre branche avec le dépôt distant à partir du bouton Validations n’ayant pas fait l’objet d’un push dans la barre d’état et à partir de la commande Synchroniser dans le menu Git.
- Récupérez et extrayez à partir du volet d’historique de la fenêtre Référentiel Git, même s’il n’y a pas de validations entrantes.
- Affichez les détails de validation et la comparaison des modifications de fichier incorporées dans la fenêtre Référentiel Git.
- Connectez-vous ou invitez automatiquement pour établir une connexion Azure DevOps initiale lors de l’ouverture d’un référentiel Git Azure DevOps.
- Fusionnez et rebasez avec des noms de branche visibles, en remplaçant la terminologie source/cible déroutante.
- Amélioration des performances et de la fiabilité des glyphes de contrôle de code source dans l’Explorateur de solutions.
- Conservez les sections entrantes/sortantes dans la fenêtre Référentiel Git, même lorsqu’elles sont vides.
- Listes déroulantes Récupérer/Extraire/Envoyer consolidées pour plusieurs dépôts distants dans la fenêtre Modifications Git vers un menu unique Action.
- Complétion d’arguments dans les appels de méthode
- Interface utilisateur Editorconfig
- Inspecter visuellement et naviguer dans la chaîne d’héritage
- Complétion IntelliSense pour les casts, les indexeurs et les opérateurs
- Prise en charge du débogueur pour les générateurs sources
- Prise en charge du nettoyage du code pour Visual Basic
- Mises à jour de Modifier et Continuer (EnC)
- Supprimer les références inutilisées
- Saut de ligne intelligent
- Simplifier la refactorisation d’expressions LINQ
- Complétion IntelliSense pour les valeurs Enum
- Paramètre du mode de complétion IntelliSense
- Préférence de style de code pour les nouvelles lignes
- Prise en charge de la fonction Rechercher toutes les références pour les générateurs sources
Éditeur de préversion Razor (ASP.NET Core)
- Mises à jour de la complétion IntelliSense
- Prise en charge de la fonction Atteindre la définition pour les composants génériques
- Nouvelle configuration de style de code pour les onglets et les espaces
- L’éditeur de texte Razor dans les options d’outils est maintenant appelé Razor (ASP.NET Core)
Améliorations apportées à l’accessibilité de l’expérience de test
- Console.Writeline s’affiche maintenant dans l’Explorateur de tests
- La sortie de test peut désormais conserver les étiquettes afin que les liens hypertexte et les liens stacktrace soient navigables même à partir des fichiers journaux.
- Les fichiers journaux sont créés pour un résultat de test unique lorsque la sortie est supérieure à 300 caractères ou s’il y a plus de 10 fichiers attachés au résultat du test.
- Les fichiers journaux peuvent également s’ouvrir en prévisualisation pour faciliter la gestion de vos onglets.
- Les fichiers journaux et l’Explorateur de tests prennent en charge Ctrl + Flèche haut/Flèche bas pour déplacer le curseur et Maj + Ctrl + Flèche haut/Flèche pour la sélection.
- L’éditeur de fichiers journaux utilise désormais l’interface IVsTextView, ce qui signifie qu’il sera désormais en mesure d’ouvrir des fichiers texte très volumineux. Les utilisateurs n’auront donc plus besoin de
Copy All
tronquer les journaux et de les ouvrir dans un éditeur distinct tel que le Bloc-notes. Pour MSTest, nous incluons désormais un seul fichier journal qui agrège toutes les sorties au lieu d’avoir uniquement des fichiers journaux individuels pour chaque ligne de données. - Vous pouvez désormais obtenir une couverture du code multiplateforme sur la ligne de commande sur Ubuntu et Alpine avec l’interface CLI dotnet. Pour les utilisateurs intéressés par l’obtention de la couverture du code sur les machines ciblant ces plateformes, vous pouvez désormais ajouter les mêmes commandes de collecte de couverture de code que celles que vous utiliseriez normalement sur Windows. Consultez la documentation supplémentaire pour le test dotnet.
- Il existe maintenant un bouton Développer tout en regard du bouton Réduire tout dans l’Explorateur de tests. Cette commande était disponible par le biais de raccourcis clavier (Ctrl + A, Ctrl + flèche droite), mais les commentaires ont montré que l’ajout d’un bouton valait la peine. Comme toujours, merci de nous informer de ce que vous pensez via https://developercommunity.visualstudio.com/.
- Il existe également de légères modifications sur la façon dont l’Explorateur de tests affiche « l’obsolescence ». « L’obsolescence » désigne les résultats de test grisés ou « décolorés » qui indiquent que le résultat n’est pas issu de la dernière série de tests. Si un résultat n’est pas une partie de la série de test la plus récente, il apparaît comme obsolète. Auparavant, de nouvelles découvertes de tests (ou même d’anciens résultats de test redécouverts) étaient également affichées avec des icônes pleines. Cela a provoqué une certaine confusion sur la raison pour laquelle certains tests « Non exécutés » étaient décolorés et pourquoi d’autres ne l’étaient pas. Ce changement réduira la complexité de l’obsolescence.
- Avec la fonctionnalité des résultats de test persistants (ajoutée dans la version 16.2), vous pouvez voir les résultats des tests à partir de la dernière série de tests, même si vous avez fermé et rouvert Visual Studio. Cela permet aux utilisateurs de se rappeler où ils se sont arrêtés et de donner plus de contexte sans nécessiter une autre exécution de test. Nous avons également modifié le comportement des résultats persistants afin qu’ils apparaissent toujours obsolètes. Cela indique mieux qu’ils ne proviennent pas d’une série de tests exécutée pendant la session Visual Studio actuelle.
- Passer à la version 2 de l’API pour l’approvisionnement Azure AD
- Azure App Configuration en tant que service connecté prend désormais en charge la configuration dynamique
Arborescence des dépendances du projet de création de packages d’applications Windows
- Ajout d’une « Arborescence des dépendances » au projet WAP
- Amélioration de XAML IntelliSense et du rechargement à chaud XAML pour les clients Xamarin.Forms
- Introduction des exemples de données XAML pour sélectionner ItemsControls dans WPF
- Ajout d’une nouvelle ampoule pour un accès rapide aux propriétés couramment modifiées
- Ajout d’une nouvelle ampoule dans l’éditeur XAML pour vous aider à créer un modèle d’affichage
- Présentation de StartupServices.xml dans les applications Service Fabric
Détail des nouveautés dans Visual Studio 2019 version 16.10
Outils Docker
Fenêtre Outil de conteneurs
Dans cette version, nous avons apporté des ajouts à la fenêtre de Outil de Conteneurs pour faciliter l’affichage et l’interaction avec les conteneurs et les images. Accédez simplement à Afficher > Autres fenêtres Conteneurs> pour essayer les nouvelles fonctionnalités.
- Les conteneurs sont désormais regroupés par projet Compose. Cela permet de savoir facilement quels conteneurs représentent votre application. Nous avons également ajouté un onglet Étiquettes dans Conteneurs pour voir facilement les étiquettes que vous utilisez pendant le développement.
- Nous avons également ajouté un onglet Étiquettes pour les images.
- Le nouvel onglet Volumes vous permet de voir les volumes d’un conteneur en cours d’exécution et même d’ouvrir les fichiers dans Visual Studio.
- Nous prenons désormais en charge la possibilité d’étiqueter une image à partir de la fenêtre Outil de Conteneurs. Dans Images, cliquez avec le bouton droit sur une image, puis sélectionnez Étiquette.
Composer.
- Les outils Docker Compose dans Visual Studio permettent désormais d’exécuter n’importe quelle combinaison de services définis dans vos fichiers Compose. Ouvrez la liste déroulante Débogage ou cliquez avec le bouton droit sur votre projet Docker Compose, puis sélectionnez Gérer les paramètres de lancement de Docker Compose pour commencer.
Productivité Git
- Pour créer plus facilement des demandes de tirage pendant que vous êtes dans Visual Studio, nous avons ajouté des éléments de menu qui sont des raccourcis de lien profond vers les pages web qui vous permettent de créer une demande de tirage ou d’afficher une liste de demandes de tirage pour votre référentiel. Le menu est dynamique selon que votre référentiel se trouve sur GitHub ou Azure DevOps.
- Le sélecteur de branche dans la barre d’état et la fenêtre Modifications Git extrait désormais une branche locale ou distante lorsque vous faites une sélection unique de la branche. Vous trouverez des actions supplémentaires dans le menu contextuel.
- Le nouveau sélecteur de référentiels dans la barre d’état a un menu contextuel en cliquant avec le bouton droit qui vous permet de supprimer des éléments de la liste.
Lorsque vous utilisez le sélecteur de référentiels ou la liste référentiels locaux du menu Git, l’ouverture d’un référentiel ne charge plus automatiquement la solution. Vous verrez à la place l’affichage des dossiers et la solution disponible dans une liste dans laquelle vous pouvez effectuer une sélection. Vous pouvez modifier ce comportement via les paramètres > Git décochant la case.
Vous pouvez choisir d’extraire une branche à partir de la fenêtre Référentiel Git en double-cliquant sur le nom de la branche. Si vous souhaitez modifier ce comportement, activez la case à cocher dans les paramètres > Git.
- Vous pouvez effectuer encore plus d’actions à partir de la fenêtre Modifications Git. Les icônes de la barre d’outils sont personnalisables et vous pouvez choisir les actions à afficher. Vous pouvez synchroniser avec plusieurs dépôts distants à partir du menu de dépassement de capacité. Vous pouvez également ouvrir la page web distante de votre référentiel dans le navigateur.
- Recherchez des branches locales et distantes et effectuez des actions de branche courantes à partir du sélecteur de branche de la barre d’état.
- Recherchez et basculez entre les référentiels Git locaux à partir du sélecteur de référentiels de la barre d’état.
- Correction d’un problème où la liste des référentiels locaux dans le menu Git ne se chargeait pas lors du lancement de Visual Studio.
- Nous avons ajouté deux nouvelles options dans les paramètres > Git pour gérer la façon dont vous ouvrez et changez de référentiels. Vous pouvez désormais garder la solution actuelle ouverte lors du basculement vers un autre référentiel
- Vous pouvez également choisir de ne pas charger le dossier racine du référentiel lors de l’ouverture d’un référentiel.
- Synchronisez (Extraire puis Envoyez) votre branche avec le dépôt distant à partir du bouton Validations n’ayant pas fait l’objet d’un push dans la barre d’état et à partir de la commande Synchroniser dans le menu Git.
- Récupérez et extrayez à partir du volet d’historique de la fenêtre Référentiel Git, même s’il n’y a pas de validations entrantes. Accédez à ces sections à partir de la barre d’état ou du raccourci clavier Ctrl + 0 + Y.
- Sélectionnez une validation dans la fenêtre Référentiel Git pour afficher ses détails et la comparaison des modifications de fichier sans avoir à accéder à d’autres fenêtres. Sélectionnez deux validations et cliquez avec le bouton droit pour les comparer dans la même fenêtre. Les détails sont affichés dans leur propre fenêtre en plein écran, ce qui permet d’approfondir les modifications.
- Affichez le nombre de suppressions et d’insertions dans un fichier et modifiez la disposition de la comparaison.
- Connectez-vous ou invitez automatiquement pour établir une connexion Azure DevOps initiale lors de l’ouverture d’un référentiel Git Azure DevOps. Cela permet d’accéder aux éléments de travail et aux builds pour le référentiel ouvert.
">
- Lors de la résolution des conflits de rebase ou de fusion, l’éditeur de fusion et le menu contextuel affichent les noms de branche pour les branches Actuelles et Entrantes. Cela résout la terminologie Source et Cible déroutante.
Productivité .NET
- Nous avons ajouté une commande Supprimer les références inutilisées qui vous permet de nettoyer les références de projet et les packages NuGet qui ne sont pas utiliser. Cette option est désactivée par défaut. Vous devez donc l’activer dans Outils>Options>Éditeur de texte>C#>Avancé et sélectionner Afficher la commande « Supprimer les références inutilisées » dans l’Explorateur de solutions (expérimental). Une fois l’option activée, la commande Supprimer les références inutilisées s’affiche dans le menu contextuel d’un nom de projet ou d’un nœud de dépendances dans l’Explorateur de solutions :
La sélection de Supprimer les références inutilisées ouvre une boîte de dialogue dans laquelle vous pouvez afficher toutes les références qui vont être supprimées avec une option pour conserver celles que vous souhaitez conserver :
- Nous avons ajouté une nouvelle commande appelée Saut de ligne intelligent qui insère automatiquement un ensemble d’accolades et place l’accent circonflexe dans ces accolades lors de l’utilisation de Maj+Entrée comme caractère de validation. Le saut de ligne intelligent fonctionne pour toutes les déclarations de type qui nécessitent des accolades ainsi que pour les propriétés, les événements, les champs et les expressions de création d’objets. L’exemple ci-dessous montre un saut de ligne intelligent utilisé sur une classe et un champ. Si le champ n’a pas de point-virgule à la fin, la saisie de Maj+Entrée convertit le champ en propriété en ajoutant un ensemble d’accolades. Vous pouvez appuyer à nouveau sur Maj+Entrée pour annuler la validation, ce qui ajoute automatiquement un point-virgule à la fin du champ :
- Il existe maintenant une refactorisation pour simplifier les expressions LINQ qui supprime l’appel inutile à l’énumérable pour la méthode .Where() pour améliorer les performances et la lisibilité. Placez votre curseur sur l’expression LINQ. Appuyez sur (Ctrl+.+.) pour déclencher le menu Actions rapides et refactorisations. Sélectionnez Simplifier l’expression LINQ.
- Il existe maintenant une complétion IntelliSense pour les valeurs Enum lorsqu’un type est connu même si le nom Enum n’est pas entré.
- Nous avons ajouté un nouveau paramètre de mode de complétion IntelliSense qui vous donne la possibilité de définir les options de complétion par défaut. Ce nouveau paramètre est disponible dans Outils>Options>Éditeur de texte>Avancé>Mode de complétion IntelliSense par défaut, où vous pouvez choisir parmi les options suivantes : Dernier utiliser qui conserve le dernier paramètre que vous avez utilisé avec Ctrl+Alt+Espace, Tab uniquement qui complète uniquement en appuyant sur Tab et Automatique qui est actuellement le comportement par défaut qui complète la ponctuation et les caractères spéciaux.
- Nous avons ajouté de nouvelles préférences de style de code pour les nouvelles lignes. Vous pouvez configurer ces préférences avec un fichier EditorConfig ou dans Outils>Options>Éditeur de texte>C#>Style de code>Préférences de nouvelle ligne (expérimental).
Par exemple, vous pouvez définir votre préférence de style de code pour signaler un diagnostic et proposer un correctif de code pour supprimer des lignes vides supplémentaires :
Il existe désormais une prise en charge de la fonction Rechercher toutes les références pour les générateurs de sources qui vous permet de trouver des références dans un document généré par la source.
Il existe maintenant une option de complétion qui insère automatiquement des arguments lors de l’écriture d’un appel de méthode. Cette fonctionnalité est désactivée par défaut. Vous devez donc l’activer dans Outils > Options > Éditeur de texte> C# > IntelliSense et sélectionner Appuyer deux fois sur Tab pour insérer des arguments (expérimental). Commencez à écrire un appel de méthode et appuyez deux fois sur Tab (Tab + Tab). Notez que l’appel de méthode inclut des arguments basés sur les valeurs par défaut de la méthode. Vous pouvez ensuite utiliser les informations de paramètre pour parcourir la liste des arguments que vous souhaitez insérer en appuyant sur les touches de direction haut et bas. Vous pouvez également commencer à taper un argument pour afficher la liste de saisie semi-automatique IntelliSense et taper le point-virgule qui validera l’argument et ajoutera un point-virgule à la fin de l’appel de méthode.
- Nous avons créé une interface utilisateur pour EditorConfig. Ouvrez n’importe quel fichier C# ou Visual Basic EditorConfig à partir de votre solution. Notez que la nouvelle interface utilisateur ouvre l’option de configuration de style de code et de qualité du code pour C# et Visual Basic.
- Il existe maintenant une représentation visuelle pour naviguer et inspecter la chaîne d’héritage. Cette option est désactivée par défaut. Vous devez donc l’activer dans Outils > Options > Éditeur de texte > C# > Avancé et sélectionner Afficher la marge d’héritage. L’activation de la marge d’héritage ajoute de nouvelles icônes aux marges représentant les implémentations et remplacements de votre code. Cliquer sur l’icône de marge d’héritage affiche les options d’héritage que vous pouvez sélectionner pour y accéder.
- Il existe désormais une complétion IntelliSense pour les casts, les indexeurs et les opérateurs.
- Il existe désormais une prise en charge du débogueur pour les générateurs sources. Vous devez d’abord installer le composant SDK .NET Compiler Platform à partir de Visual Studio Installer. Vous devez ensuite ajouter la propriété
<IsRoslynComponent>
true</IsRoslynComponent>
à votre fichier projet. Ensuite, activez l’option de débogueur « Composant Roslyn » dans la page Débogage des propriétés du projet et sélectionnez le projet cible approprié. Ensuite, appuyez sur F5 dans le projet de générateur, ce qui démarre csc.exe/VBC.exe qui génère le projet cible, ce qui vous permet de déboguer le code du générateur.
Dans cette version, nous avons également ajouté les améliorations suivantes à l’expérience de débogage Modifier et Continuer (EnC) dans Visual Studio :
- Il est désormais possible d’appliquer des modifications dans le code qui se trouvent dans une classe partielle.
- Vous pouvez désormais appliquer des modifications dans un fichier généré par la source.
- Il est désormais possible d’ajouter et/ou de modifier une directive using.
- Améliorations de la fiabilité et réduction de la consommation de mémoire.
Les trois modifications sont disponibles partout où EnC est pris en charge aujourd’hui et fonctionnent avec les fichiers sources C# et Visual Basic.
Débogueur et diagnostics
- Nous avons développé plusieurs analyseurs pour détecter les problèmes courants dans les images mémoire managées. Cette analyse peut désormais être effectuée sur des images mémoire principales Linux managées.
Remerciement
Pour terminer, nous souhaitons adresser un grand merci aux personnes suivantes qui ont participé ce mois-ci à Productivité .NET (que vous connaissez aussi sous le nom de Roslyn) :
- Valery (@m08pvv) : condition invariante de boucle levée PR #52168
- Martin Strecker (@MaStr11) : prise en charge de l’incorporation d’autres chaînes interpolées PR #49229, IntelliSense pour cast, indexeurs et opérateurs PR #47511
- Bernd Baumanns (@bernd5) : correction de la « perte d’informations » causée par l’utilisation par défaut des méthodes SyntaxNode-Update PR #52036, Correction de l’interpolation de chaîne NormalizeWhitespace avec Initializer-expressions PR #51213
- C-xC-c (@C-xC-c) : renommer les paramètres d’égalité des enregistrements en « left » et « right » PR #51973
- Kai Jellinghaus (@HurricanKai) : modification de Compilation.CommonSyntaxTrees pour utiliser ImmutableArray PR #51905
- Huo Yaoyuan (@huoyaoyuan) : ignorer les méthodes externes dans le style de nommage PR #51728, résoudre les problèmes NRT trouvés en ciblant net5.0 PR #50895
- Alireza Habibi (@alrz) : correction de l’analyse de modèle entre parenthèses PR #49621
- Paul M Cohen (@paul1956) : ajout de la prise en charge du nettoyage du code pour Visual Basic PR #48092
- Petr Onderka (@svick) : faire fonctionner DocumentationCommentCompiler après NormalizeWhitespace PR #47360
- Youssef Victor (@Youssef1313) : mettre à jour de IDEDiagnosticIDConfigurationTests pour être exclusif plutôt que inclusif PR #52078, ImportingConstructor obsolète PR #52073, Comportement ContainsSyntaxTree cohérent entre VB et C# PR #52050, S’assurer d’obtenir le nom de l’argument nameof PR #52016, Correction de l’annotation null SyntaxFactory.UsingStatement PR #51984, Simplifier CSharpRequiredLanguageVersion PR #51881, Afficher la version effective de la langue pour la version #error PR #51880, Mettre à jour les documents SymbolEqualityComparer.IncludeNullability PR #51724, Inclure des générateurs sources dans TryGetMethodDescriptorAsync PR #51686, Rendre les modèles var liables PR #51620, Utiliser Boxes dans SyntaxToken.Value PR #51546, Correction de l’affichage du pointeur de fonction RefKind PR #51223, Gérer les motifs dans les expressions switch PR #50984, Ajouter ImplementationAttributes à IMethodSymbol PR #50560
- Benjamin Schäublin (@bschaeublin) :
- Correction du texte redondant dans la remarque pour la surcharge MetadataReference PR #51242
- Martin Strecker (@MaStr11) :
- piotrstenke (@piotrstenke) :
- Propriétés mises à jour pointant vers elles-mêmes dans l’étiquette
<see>
dans GeneratorContexts.cs PR #50896
- Propriétés mises à jour pointant vers elles-mêmes dans l’étiquette
- Huo Yaoyuan (@huoyaoyuan) :
- Système de recommandations de mot clé mis à jour pour connaître les membres readonly structs PR #50820
- Yair Halberstadt (@YairHalberstadt) :
- Prise en charge de la déclaration et de l’affectation mixtes dans la déconstruction PR #44476
- Youssef Victor (@Youssef1313) :
Éditeur de préversion Razor (ASP.NET Core)
Le nouvel éditeur de préversion Razor prend désormais en charge les fonctionnalités d’édition Razor suivantes :
- La complétion IntelliSense filtre désormais les composants HTML, les éléments TagHelper et les a tributs C# :
- Complétion IntelliSense pour les remplacements C#.
- Prise en charge de la fonction Atteindre la définition pour les composants génériques.
- Nouvelles options de configuration de style de code pour les tabulations et les espaces. Ces styles de code sont respectés lors de la saisie, de la mise en forme et de la création d’un fichier Razor. Vous pouvez configurer des tabulations et des espaces dans Outils > Options > Éditeur de texte > Razor (ASP.NET Core) > Tabulations.
- L’éditeur de texte Razor dans les options d’outils a été renommé de Services de langage Razor ASP.NET Core en Razor (ASP.NET Core).
Pour activer l’éditeur de préversion Razor, accédez à Outils > Options > Environnement > Fonctionnalités d’évaluation, sélectionnez Activer l’éditeur Razor expérimental, puis redémarrez Visual Studio.
Améliorations apportées à l’accessibilité de l’expérience de test
- Console.Writeline s’affiche maintenant dans l’Explorateur de tests ! La sortie longue s’affiche sous la forme d’une section réductible dans le volet résumé des détails du test. La sortie d’une certaine longueur affiche les premières lignes et est tronquée avec une option permettant d’ouvrir le journal de test dans une fenêtre distincte. Le stacktrace tronque s’il y a plus de 20 images et affiche uniquement les 10 premières et dernières images. Une partie importante de la conception de la troncation a également été axée sur la réduction des blocages de VS lorsque les exécutions de test ont une sortie volumineuse. Les tests qui ont une sortie volumineuse ne bloquent plus le thread d’interface utilisateur.
- La sortie de test peut désormais conserver les étiquettes afin que les liens hypertexte et les liens stacktrace soient navigables même à partir des fichiers journaux. Ces liens sont désormais compatibles avec le clavier.
- Les fichiers journaux sont créés pour un résultat de test unique lorsque la sortie est supérieure à 300 caractères ou s’il y a plus de 10 fichiers attachés au résultat du test. Les fichiers journaux peuvent également s’ouvrir en prévisualisation pour faciliter la gestion de vos onglets. Les fichiers journaux et l’Explorateur de tests prennent en charge Ctrl + Flèche haut/Flèche bas pour déplacer le curseur et Maj + Ctrl + Flèche haut/Flèche pour la sélection.
- L’éditeur de fichiers journaux utilise désormais l’interface IVsTextView, ce qui signifie qu’il sera désormais en mesure d’ouvrir des fichiers texte très volumineux. Les utilisateurs n’auront donc plus besoin de
Copy All
tronquer les journaux et de les ouvrir dans un éditeur distinct tel que le Bloc-notes. Pour MSTest, nous incluons désormais un seul fichier journal qui agrège toutes les sorties au lieu d’avoir uniquement des fichiers journaux individuels pour chaque ligne de données.
Outils de test
- Vous pouvez désormais obtenir une couverture du code multiplateforme sur la ligne de commande sur Ubuntu et Alpine avec l’interface CLI dotnet. Pour les utilisateurs intéressés par l’obtention de la couverture du code sur les machines ciblant ces plateformes, vous pouvez désormais ajouter les mêmes commandes de collecte de couverture de code que celles que vous utiliseriez normalement sur Windows. Consultez la documentation supplémentaire pour le test dotnet.
- Il existe maintenant un bouton Développer tout en regard du bouton Réduire tout dans l’Explorateur de tests. Cette commande était disponible par le biais de raccourcis clavier (Ctrl + A, Ctrl + flèche droite), mais les commentaires ont montré que l’ajout d’un bouton valait la peine. Comme toujours, merci de nous informer de ce que vous pensez via https://developercommunity.visualstudio.com/.
- Il existe également de légères modifications sur la façon dont l’Explorateur de tests affiche « l’obsolescence ». « L’obsolescence » désigne les résultats de test grisés ou « décolorés » qui indiquent que le résultat n’est pas issu de la dernière série de tests. Si un résultat n’est pas une partie de la série de test la plus récente, il apparaît comme obsolète. Auparavant, de nouvelles découvertes de tests (ou même d’anciens résultats de test redécouverts) étaient également affichées avec des icônes pleines. Cela a provoqué une certaine confusion sur la raison pour laquelle certains tests « Non exécutés » étaient décolorés et pourquoi d’autres ne l’étaient pas. Ce changement réduira la complexité de l’obsolescence.
- Avec la fonctionnalité des résultats de test persistants (ajoutée dans la version 16.2), vous pouvez voir les résultats des tests à partir de la dernière série de tests, même si vous avez fermé et rouvert Visual Studio. Cela permet aux utilisateurs de se rappeler où ils se sont arrêtés et de donner plus de contexte sans nécessiter une autre exécution de test. Nous avons également modifié le comportement des résultats persistants afin qu’ils apparaissent toujours obsolètes. Cela indique mieux qu’ils ne proviennent pas d’une série de tests exécutée pendant la session Visual Studio actuelle.
Outils web
La configuration dynamique permet l’actualisation automatique des ressources de configuration à l’aide d’un intergiciel. App Configuration en tant que service connecté peut désormais intégrer automatiquement la configuration dynamique à votre application. Pour utiliser ce service connecté, cliquez sur Services connectés, puis ajoutez Azure App Configuration en tant que dépendance de service.
« Arborescence des dépendances » du projet de création de packages d’applications Windows
- Suite au travail de l’année dernière pour activer les références de package NuGet dans le projet de création de packages d’applications Windows (WAP), nous avons activé une nouvelle interface utilisateur dans l’expérience de l’Explorateur de solutions WAP. L’ancienne expérience n’affichait pas ces références de package ou ne vous permettait pas d’ajouter des packages NuGet via l’interface utilisateur.
- Dans la nouvelle expérience, avec l’aide de CPS et du système de projet .NET, nous avons activé une « arborescence des dépendances » qui continue d’afficher les références de projet via la sous-arborescence « Applications », mais elle inclut également une sous-arborescence « Packages » qui vous permet également de gérer les packages NuGet.
Améliorations apportées aux outils XAML (WPF et Xamarin.Forms)
Xamarin.Forms
Dans cette version, nous avons apporté deux petites améliorations à XAML IntelliSense et au rechargement à chaud XAML pour les clients Xamarin.Forms. Le rechargement à chaud « modification uniquement » ne signale plus les fausses erreurs pour :
- Setters dans VisualStateManager référençant les propriétés sans spécifier de type, par exemple
<Setter Property="BackgroundColor" Value="Red">
. - Dictionnaires de ressources fusionnés non encapsulé dans l’élément <ResourceDictionary.MergedDictionaries>
Exemple :
<Application>
<Application.Resources>
<ResourceDictionary Source='Colors.xaml'/>
<Style TargetType='Label'> ... <Style>
</Application.Resources>
</Application>
Exemples de données XAML
Dans cette version, nous avons amélioré davantage la fonctionnalité de données au moment de la conception du Concepteur XAML en ajoutant un nouveau moyen d’ajouter des exemples de données génériques à vos ItemsControls. Cette fonctionnalité fonctionne uniquement pour ListBox, ListView et DataGrid dans WPF.
- Vous pouvez activer des exemples de données en définissant
d:ItemSource='{d:SampleData}'
sur votre ListBox, ListView ou DataGrid - Cela remplit votre contrôle dans le concepteur uniquement avec un ensemble de 5 éléments qui correspondent à vos chemins de liaison et DataTemplates
- Vous pouvez modifier le nombre d’éléments générés à l’aide de la propriété
ItemCount
, par exemple :d:ItemSource='{d:SampleData ItemCount=3}'
Actions rapides du concepteur XAML
Une nouvelle ampoule près du coin d’un contrôle sélectionné dans le Concepteur XAML peut être utilisée pour un accès rapide aux propriétés couramment modifiées pour ce contrôle.
Les contrôles pris en charge sont les suivants :
- UWP : Border, Button, Canvas, CheckBox, ComboBox, Grid, HyperlinkButton, Image, ListBox, ListView, NavigationView, RadioButton, Slider, StackPanel, TextBlock, TextBox
- WPF : Border, Button, Canvas, CheckBox, ComboBox, Grid, Image, Label, ListBox, ListView, StackPanel, TextBlock, TextBox
Cette fonctionnalité est disponible pour UWP, WPF .NET Core et WPF .NET Framework (avec la fonctionnalité « Nouveau concepteur XAML WPF pour .NET Framework » activée dans la boîte de dialogue des options).
Les actions rapides du concepteur XAML ont également un modèle d’extensibilité. Pour plus d’informations sur la création de vos propres actions, consultez GitHub de l’extensibilité du concepteur XAML
Outils MVVM pour XAML
Dans cette version, nous avons introduit une ampoule dans l’éditeur XAML pour créer un modèle d’affichage. Cette ampoule est affichée sur l’élément racine du document XAML lorsque nous détectons qu’une infrastructure MVVM est utilisée dans le projet. La boîte de dialogue permet de personnaliser l’espace de noms du modèle d’affichage généré, le dossier et le modèle d’affichage de base hérité.
L’ampoule définit également le modèle d’affichage généré comme x:DataType(Xamarin.Forms) ou d:DataContext(toutes les autres plateformes) pour le document XAML, ce qui permet à l’utilisateur d’exploiter davantage les ampoules de l’éditeur XAML pour générer des propriétés et des commandes liées dans les modèles d’affichage.
Outils Service Fabric
Cette fonctionnalité introduit le fichier StartupServices.xml dans une conception d’application Service Fabric. Ce fichier héberge la section DefaultServices d’ApplicationManifest.xml. Avec cette implémentation, les paramètres relatifs à la définition de DefaultServices et de Service sont déplacés du fichier ApplicationManifest.xml existant vers ce nouveau fichier appelé StartupServices.xml. Ce fichier est utilisé dans chaque fonctionnalité (Compiler/Régénérer/F5/Ctrl+F5/Publier) dans Visual Studio.
Principaux problèmes résolus dans cette version
- Correction d’un problème où les développeurs C# appelant la commande Edit.SmartBreakline supprimaient tout le contenu dans l’accesseur de propriété.
- Correction d’un problème où les développeurs qui mettaient à jour un paramètre de style de code voyaient la modification s’appliquer à toutes les instances de Visual Studio au lieu de l’appliquer uniquement au dossier souhaité.
- L’icône « Appliquer les modifications de code » s’affiche chaque fois qu’un projet natif ou fusionné a été ouvert. Elle ne sera activée qu’une fois qu’un développeur démarre le débogage.
- Correction du changement cassant dans AudioUnitPropertyIDType
- Correction d’un problème où les développeurs utilisant l’infrastructure de test unitaire UWP ne pouvaient pas exécuter de tests sur des appareils distants.
À partir de Developer Community
Voici quelques-uns des principaux problèmes votés publiés dans la version 16.10 :
- .sqlproj ne se met pas à jour avec les modifications
- L’accès au tableau dans les initialiseurs de littéraux composés donne des décalages incorrects
- Problèmes/commentaires des modules de bibliothèque Visual Studio 2019 Preview 2 standard c++
- Visual Studio 2019 efface toujours le répertoire CMakeBuild chaque fois que je touche CMakeFiles.txt ou CMakeSettings.json
- MSVC ne respecte pas constexpr if dans lambdas
- Constructeur par défaut Noexcept
- #Pragma warning(push, )) ne désactive pas tous les avertissements pour son étendue si /Wall est défini
- Constexpr-if et paramètre inutilisé
- Impossible de déclarer constexpr initializer_list
- C++latest confond la convention d’appel dans le paramètre de modèle
- Impossible de vérifier les mises à jour de Visual Studio 2019
- La fenêtre de comparaison Git indique que tout a changé dans le fichier lorsque l’option « Ignorer la suppression de l’espace blanc » est désactivée.
- Des espaces sont insérés au lieu de tabulations.
- Visualiseurs du débogueur Visual Studio et BinaryFormatter dans ASP.NET Core 5
- VS pour Linux : les fichiers de sortie sur l’ordinateur distant sont GÉNÉRÉS DANS UN EMPLACEMENT INCORRECT après la mise à jour 16.9.
- Certains onglets ouverts et épinglés ne sont pas épinglés lors du redémarrage de Visual Studio.
- La mise à niveau de Visual Studio 2019 vers la version 16.9.4 provoque une erreur de compilation/lien
- GC collecte pendant l’appel de méthode sur la classe ref c++/cli
- Bogue logique EncodePointer/DecodePointer dans Trace.cpp de CRT.
- L’élément a une valeur non valide de « EnableAllWarnings ».
- E0144 signalé pour le code valide. (Erreur IntelliSense).
- « Argument de modèle non valide, expression constante au moment de la compilation attendue » après la mise à niveau vers Visual Studio v16.9.0
- Visual Studio 2019 efface toujours le répertoire CMakeBuild chaque fois que je touche CMakeFiles.txt ou CMakeSettings.json. (https://developercommunity.visualstudio.com/t/sizeof-array-to-pointer-VC-weirdness/1396250)* [Taille du tableau-pointeur VC bizarre]
- Exception de caractère illégale dans Xamarin.Android après la mise à jour vers la version 16.9.0 de Visual Studio Community 2019
- Microsoft.VisualStudio.TestStorage.TestStoreIndexingException : Échec de l’ajout du résultat pour le test
- VS pour Linux : les fichiers de sortie sur l’ordinateur distant sont GÉNÉRÉS DANS UN EMPLACEMENT INCORRECT après la mise à jour 16.9
- Certains onglets ouverts et épinglés ne sont pas épinglés lors du redémarrage de VS
- Régression 16.9.0 : F7 aka « View Code » ne fonctionne pas à partir du fichier Xaml Xamarin
- cl.exe prend plus de 5 Go de ram pour compiler un morceau de code assez petit.
- Les valeurs Enum ne sont pas affichées dans les actions suggérées lorsque l’attribut TypeConverter est appliqué à un type d’énumération personnalisé
- L’Explorateur de tests ne parvient pas à exécuter de tests sous netcore3.1 et net5.0, mais fonctionne avec net461
- Code incorrect généré avec /O2
- View Code dans le menu contextuel ne fonctionne pas
- Erreur irrécupérable C1001 : erreur interne du compilateur (fichier du compilateur 'D:\a01_work\4\s\src\vctools\Compiler\Utc\src\p2\main.c', ligne 213)
- La tentative de suppression du partage en direct de la boîte de dialogue Extension VS échoue dans le programme d’installation
- Msvc accepte une comparaison non valide entre le pointeur et l’entier dans la fonction de modèle
- Visual Studio cesse de répondre lors de la navigation IntelliSense.
- IntelliSense rompu en raison d’un incident de vcpkgsrv
- La liste des processus vcpkgsrv.exe continue de croître.
- Les branches de fusion Visual Studio affichent un nom de branche incorrect.
- Erreur fréquente de Visual Studio 2019 : « L’application a appelé une interface qui a été marshalée pour un autre thread ».
- Le démarrage des tests à partir d’un fichier de code (par exemple, à l’aide de Ctrl + R, T) tente de charger des composants LiveShare même s’il n’est pas installé.
- ClickOnce Publish pour .NET Core 3.1 et .NET 5.0 peut échouer lorsque le projet fait référence à un projet de bibliothèque de classes avec un autre runtime cible.
- Correction de E1504 : erreur interne lors de l’utilisation des modules C++20.
- IntelliSense C++ ne reconnaît pas « using enum ».
- Visual Studio 2019 Enterprise RTM : projets basés sur le kit SDK .NET (TargetFrameworkMoniker .NET 4.7.2).
- Correction d’une erreur lors de l’analyse de la sortie de la configuration.
- Le message « Le package 'VslsFileSystemProviderVSCorePackage' n’a pas été chargé correctement » s’affiche lorsque LiveShare n’est pas installé.
- La création d’un projet de liaison iOS Xamarin ne fonctionne plus dans Visual Studio v16.9.
- Régression de l’ensemble d’outils 16.9 vcxproj produisant des bibliothèques statiques : pdb n’est plus copié dans la sortie.
- La connexion à une machine Linux distante utilise un chemin de destination incorrect.
- Correction d’une initialisation de copie : problème de résolution de surcharge.
- Ligne ondulée d’IntelliSense incorrecte avec l’utilisation de la bibliothèque range-v3.
- La barre Gold suit une exception dans DiagnosticDataSerializer.ReadDiagnosticDataArray.
Problèmes connus
Consultez tous les problèmes ouverts et les solutions de contournement disponibles dans Visual Studio 2019 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.