Partager via


2022LogoNotes de publication Visual Studio 2022 version 17.8


Developer Community | Feuille de route de Visual Studio 2022 | Exigences système | Compatibilité | Code distribuable | Historique de publication | Termes du contrat de licence | Blogs | Derniers problèmes connus | Nouveautés de la documentation Visual Studio


Cliquez sur le bouton pour télécharger la dernière version de Visual Studio 2022. Pour des instructions sur l’installation et la mise à jour de Visual Studio 2022, consultez Mettre à jour Visual Studio 2022 vers la dernière version. Consultez également les instructions sur l’installation en mode hors connexion.

Bouton Télécharger CommunityBouton Télécharger ProfessionalBouton Télécharger Enterprise

Visitez le site de Visual Studio pour télécharger d’autres produits Visual Studio 2022.


Mises en production de Visual Studio 2022 version 17.8

Blog Visual Studio 2022

Le blog sur Visual Studio 2022 est la source officielle des insights sur le produit, partagés par la l’équipe d’ingénierie Visual Studio. Vous trouverez des informations détaillées sur les versions de Visual Studio 2022 dans les billets de blog suivants :


17.8.12 Visual Studio 2022 version 17.8.12

Publication : 9 juillet 2024

Résumé des nouveautés de cette version

  • Mise à jour de MinGit vers la version 2.45.2.1 comprenant GCM 2.5, ce qui permet de résoudre un problème lié à la version précédente de GCM qui signalait une erreur à Git après le clonage et donnait l’impression que le clone avait échoué.

Avis de sécurité résolus

  • CVE-2024-38081 Le programme d’installation de Visual Studio sur le système d’exploitation Windows présente une vulnérabilité qui permet à un utilisateur non privilégié de manipuler l’installation de Visual Studio, entraînant une élévation de privilège.
  • CVE-2024-30105 Dans .NET, l’appel de la méthode JsonSerializer.DeserializeAsyncEnumerable sur une entrée non approuvée avec System.Text.Json présente une vulnérabilité qui peut entraîner un déni de service.
  • CVE-2024-38095 Lorsque System.Formats.Asn1 dans .NET analyse un certificat X.509 ou une collection de certificats, un certificat malveillant peut tirer parti d’une vulnérabilité pour entraîner une consommation excessive du processeur sur toutes les plateformes, provoquant un déni de service.
  • CVE-2024-35264 En raison d’une vulnérabilité dans ASP.NET Core 8, l’altération des données dans Kestrel HTTP/3 peut entraîner l’exécution de code à distance.

17.8.11 Visual Studio 2022 version 17.8.11

publiée le 11 juin 2024

Résumé des nouveautés de cette version

  • Après une mise à niveau vers la build Germanium de Windows, WSL nécessite une mise à niveau manuelle. Cette opération peut entraîner le blocage de Visual Studio lors de l’ouverture de projets CMake.
  • Nous avons corrigé un bogue dans le code de lecture PDB pour ignorer des échecs attendus dans certains PDB FASTLINK.

Developer Community

Avis de sécurité résolus

  • CVE-2024-30052 Exécution de code à distance lors du débogage de fichiers de sauvegarde contenant un fichier malveillant qui affiche une extension appropriée
  • CVE-2024-29060 Élévation de privilège pendant l’exécution de l’installation affectée de Visual Studio
  • CVE-2024-29187 Les installateurs basés sur WiX sont vulnérables au détournement binaire lorsqu’ils sont exécutés en tant que SYSTÈME

17.8.10 Visual Studio 2022 version 17.8.10

Publié le 14 mai 2024

Résumé des nouveautés de cette version

  • Les composants du programme d’installation « Xamarin » et « Xamarin Profiler » ont été marqués « Hors prise en charge ».
  • Correction de ces structures de données qui ne s’affichaient pas correctement dans le débogueur VS : Concurrency::concurrent_unordered_set, Concurrency::concurrent_unordered_multiset, Concurrency::concurrent_unordered_map, Concurrency::concurrent_unordered_multimap.
  • Correction d’un bogue de convention d’appel sur arm64 où l’appelant et l’appelé n’étaient pas d’accord sur l’emplacement où trouver les paramètres de valeur supérieures à 16 octets.
  • Cette version inclut également une mise à jour OpenSSL vers la version 3.2.1

Developer Community

Avis de sécurité résolus

  • CVE-2024-32002 Clones récursifs sur des systèmes de fichiers sensibles à la casse qui prennent en charge les liens symboliques sont susceptibles d’être exécutés à distance.
  • CVE-2024-32004 Exécution de code à distance lors du clonage de référentiels locaux spécialement conçus
  • CVE-2024-30045 Une vulnérabilité d’exécution de code à distance existe dans .NET 7.0 et .NET 8.0 où un dépassement de mémoire tampon de pile se produit dans la routine d’analyse double .NET.
  • CVE-2024-30046 Une vulnérabilité existe dans Microsoft.AspNetCore.Server.Kestrel.Core.dll où un verrou mort peut se produire, ce qui entraîne un déni de service.

17.8.9 Visual Studio 2022 version 17.8.9

Publication : 9 avril 2024

Résumé des nouveautés de cette mise en production de Visual Studio 2022 version 17.8.9

  • Avec ce correctif de bogue, un client peut désormais utiliser le programme d’amorçage dans un layout, passer le paramètre --noWeb à installer sur une machine cliente et s’assurer que le programme d’installation et le produit Visual Studio sont téléchargés uniquement à partir du layout. Auparavant, parfois pendant le processus d’installation, le programme d’installation ne respectait pas le paramètre -noWeb et tentait de se mettre à jour automatiquement à partir du web.

Avis de sécurité résolus

  • CVE-2024-21409 Une vulnérabilité de type utilisation après libération existe dans WPF, qui peut entraîner une élévation de privilège lors de l’affichage de documents non approuvés.
  • CVE-2024-28929 Cette mise à jour traite une vulnérabilité d’exécution de code à distance dans Microsoft ODBC Driver pour Microsoft SQL Server.
  • CVE-2024-28930 Cette mise à jour traite une vulnérabilité d’exécution de code à distance dans Microsoft ODBC Driver pour Microsoft SQL Server.
  • CVE-2024-28931 Cette mise à jour traite une vulnérabilité d’exécution de code à distance dans Microsoft ODBC Driver pour Microsoft SQL Server.
  • CVE-2024-28932 Cette mise à jour traite une vulnérabilité d’exécution de code à distance dans Microsoft ODBC Driver pour Microsoft SQL Server.
  • CVE-2024-28933 Cette mise à jour traite une vulnérabilité d’exécution de code à distance dans Microsoft ODBC Driver pour Microsoft SQL Server.
  • CVE-2024-28934 Cette mise à jour traite une vulnérabilité d’exécution de code à distance dans Microsoft ODBC Driver pour Microsoft SQL Server.
  • CVE-2024-28935 Cette mise à jour traite une vulnérabilité d’exécution de code à distance dans Microsoft ODBC Driver pour Microsoft SQL Server.
  • CVE-2024-28936 Cette mise à jour traite une vulnérabilité d’exécution de code à distance dans Microsoft ODBC Driver pour Microsoft SQL Server.
  • CVE-2024-28937 Cette mise à jour traite une vulnérabilité d’exécution de code à distance dans Microsoft ODBC Driver pour Microsoft SQL Server.
  • CVE-2024-28938 Cette mise à jour traite une vulnérabilité d’exécution de code à distance dans Microsoft ODBC Driver pour Microsoft SQL Server.
  • CVE-2024-28941 Cette mise à jour traite une vulnérabilité d’exécution de code à distance dans Microsoft ODBC Driver pour Microsoft SQL Server.
  • CVE-2024-28943 Cette mise à jour traite une vulnérabilité d’exécution de code à distance dans Microsoft ODBC Driver pour Microsoft SQL Server.
  • CVE-2024-29043 Cette mise à jour traite une vulnérabilité d’exécution de code à distance dans Microsoft ODBC Driver pour Microsoft SQL Server.

17.8.8 Visual Studio 2022 version 17.8.8

Date de publication : 12 mars 2024

Résumé des nouveautés de cette mise en production de Visual Studio 2022 version 17.8.8

  • Corrige les faux négatifs d’AddressSanitizer concernant les allocateurs hérités de Windows, ainsi qu’une condition de concurrence au démarrage en fonction du chargement de la dll d’AddressSanitizer.
  • Un correctif a été apporté pour empêcher la modification d’une charge de mémoire scalaire dans l’extension inlined des fonctions std ::round() en accès vectoriel. Bien que l’accès vectoriel ne change pas le résultat du calcul, il est plus long et peut échouer lorsque le chargement scalaire est réussi.
  • Correction d’un bogue dans lequel libconcrt.lib utilisé lorsque la liaison statique pouvait contenir une instruction SSE 4.2 qui était illégale sur les anciens systèmes X64.

Communauté des développeurs

Avis de sécurité résolus

  • CVE-2024-21392 Il existe une vulnérabilité dans .NET, où des requêtes spécialement conçues peuvent entraîner une fuite de ressources, entraînant un déni de service.
  • CVE-2024-26190 Il existe une vulnérabilité dans MsQuic.dll, qui peut entraîner qu’un pair alloue de petits blocs de mémoire tant que la connexion reste active.
  • CVE-2023-27911 Cet avis est republié pour indiquer que le kit de développement logiciel (SDK) Autodesk® FBX® n’est plus pris en charge dans Visual Studio 2022.

17.8.7 Visual Studio 2022 version 17.8.7

Version du 13 février 2024

Résumé des nouveautés de cette mise en production de Visual Studio 2022 version 17.8.7

  • Visual Studio est en mesure d’exécuter des formulaires sous le compte SYSTEM.
  • Mises à jour de .NET MAUI vers 8.0.6 SR1.

Communauté des développeurs

Avis de sécurité résolus

  • CVE-2024-0057 Une vulnérabilité de contournement des fonctionnalités de sécurité existe quand des applications basées sur Microsoft .NET Framework utilisent des API de génération de chaînes X.509, mais ne valident pas complètement le certificat X.509 en raison d’une faille logique.
  • CVE-2024-21386 Une vulnérabilité existe dans les applications ASP.NET avec SignalR qui permet à un client malveillant d’entraîner un déni de service.
  • CVE-2024-21404 Une vulnérabilité de déni de service existe dans .NET avec la prise en charge d’OpenSSL lors de l’analyse des certificats X509.

17.8.6 Visual Studio 2022 version 17.8.6

Publication : 30 janvier 2024

Résumé des nouveautés de cette publication de Visual Studio 2022 version 17.8.6

Communauté des développeurs


17.8.5 Visual Studio 2022 version 17.8.5

publiée le 17 janvier 2024

Résumé des nouveautés de cette mise en production de Visual Studio 2022 version 17.8.5

  • Ajoute des correctifs de support et d’API Xcode 15.1. Pour obtenir les notes de publication complètes, visitez notre page des versions macios.
  • Correction d’un problème au cours duquel certains clients, après avoir modifié le framework cible pour leur projet Razor, ne voyaient pas les composants ajoutés par la suite.
  • Correction d’un incident au démarrage de la boîte de dialogue Déboguer > Attacher au processus.
  • Correction d’un plantage lors du changement du modificateur d’accès dans le Concepteur Paramètres.

Communauté des développeurs


17.8.4 Visual Studio 2022 version 17.8.4

publié le 9 janvier 2024

Résumé des nouveautés de cette publication de Visual Studio 2022 version 17.8.4

Communauté des développeurs

Avis de sécurité résolus

  • CVE-2024-20656 Une vulnérabilité existe dans le service VSStandardCollectorService150 à cause de laquelle les attaquants locaux peuvent élever les privilèges sur les hôtes où une installation affectée de Microsoft Visual Studio est en cours d’exécution.
  • CVE-2023-32027 Cet avertissement est republié pour résoudre une vulnérabilité d’exécution de code à distance de Microsoft ODBC Driver pour SQL Server dans Visual Studio.
  • CVE-2023-32025 Cet avertissement est republié pour résoudre une vulnérabilité d’exécution de code à distance de Microsoft ODBC Driver pour SQL Server dans Visual Studio.
  • CVE-2023-32026 Cet avertissement est republié pour résoudre une vulnérabilité d’exécution de code à distance de Microsoft ODBC Driver pour SQL Server dans Visual Studio.
  • CVE-2023-29356 Cet avertissement est republié pour résoudre une vulnérabilité d’exécution de code à distance de Microsoft ODBC Driver pour SQL Server dans Visual Studio.
  • CVE-2023-32028 Cet avertissement est republié pour résoudre une vulnérabilité d’exécution de code à distance de Microsoft SQL OLE DB dans Visual Studio.
  • CVE-2023-29349 Cet avertissement est republié pour résoudre une vulnérabilité d’exécution de code à distance de Microsoft ODBC et OLE DB dans Visual Studio.
  • CVE-2024-0057 Une vulnérabilité de contournement des fonctionnalités de sécurité existe quand des applications basées sur Microsoft .NET Framework utilisent des API de génération de chaînes X.509, mais ne valident pas complètement le certificat X.509 en raison d’une faille logique.
  • CVE-2024-0056 Une vulnérabilité existe dans le fournisseur de données SQL Microsoft.Data.SqlClient et System.Data.SqlClient à cause de laquelle un attaquant peut effectuer une attaque d’interception (parfois appelée attaque MITM ou man-in-the-middle) entre le client SQL et le serveur SQL.
  • CVE-2024-21319 Microsoft publie cet avertissement de sécurité pour fournir des informations concernant une vulnérabilité dans les modèles de projet ASP.NET Core.

17.8.3 Visual Studio 2022 version 17.8.3

Publication : 5 décembre 2023

Résumé des nouveautés de cette mise en production de Visual Studio 2022 version 17.8.3

  • Un problème concernant des projets qui utilisent des fichiers razor en tant que fichiers liés ou à partir de projets partagés a été résolu.

Communauté des développeurs

Problèmes connus

  • Les utilisateurs disposant d’un logiciel de gestion des privilèges installé à partir de Delinea peuvent rencontrer des problèmes lors du lancement de Visual Studio. Delinea est conscient de ce problème et l’a résolu. Veuillez les contacter via https://delinea.com/support pour obtenir des instructions sur la façon de résoudre ce problème. »

17.8.2 Visual Studio 2022 version 17.8.2

Mise en production le 28 novembre 2023

Résumé des nouveautés de cette mise en production de Visual Studio 2022 version 17.8.2

  • Correction d’un problème où, dans certaines situations, une fenêtre de document peut se bloquer et montrer un message de chargement.
  • Dans certains cas (lorsqu’un projet se trouve sous un dossier de solution), il est possible qu’une erreur s’affiche lors de l’enregistrement du projet. Le projet sera enregistré, mais une erreur s’affichera concernant l’impossibilité de caster un objet COM. Ce problème est maintenant résolu et l’erreur ne s’affiche plus.

Communauté des développeurs


17.8.1 Visual Studio 2022 version 17.8.1

publié le 21 novembre 2023

Résumé des nouveautés de cette mise en production de Visual Studio 2022 version 17.8.1

  • La version mise à jour d’IncrediBuild résout un problème où la génération de projets CMake à l’aide des commandes de menu de build standard redirigerait incorrectement la build pour utiliser IncrediBuild par défaut.

Communauté des développeurs


17.8.0 Visual Studio 2022 version 17.8.0

Mise en production le 14 novembre 2023

Résumé des nouveautés de cette mise en production de Visual Studio 2022 version 17.8

Fonctionnalités de productivité

Fonctionnalités Suggestions de la communauté
GitHub Copilot
Rechercher et remplacer en conservant la casse 🙏– 76 votes
Créer une demande de tirage (pull request) 🙏– 293 votes
Résumé Diff 🙏– 7 votes
Augmentation de la limite multiréférentiel 🙏– 8 votes
Avatars GitHub ajoutés à la fenêtre référentiel Git
Prise en charge des tests unitaires Linux distants
Rendre la fonction globale statique
Triez les directives #include
Navigation et Code Search
Boîte à outils Teams
Notification de mise à jour Visual Studio

C++ et développement de jeux

Fonctionnalités Suggestions de la communauté
Extraits de code Unreal Engine
Adaptateur de test Unreal Engine
Vue des fonctions C++ Build Insights 🙏– 141 votes
Rendre une fonction membre const
Conseils Taille et alignement

Améliorations de F#

Fonctionnalités Suggestions de la communauté
F#

Débogage et diagnostics

Fonctionnalités Suggestions de la communauté
Prise en charge du débogage enc/Rechargement à chaud multiplateforme
Déboguer Linux App Services via Attacher au processus
IDiagnosers BenchmarkDotNet
Prise en charge améliorée du thème pour une fenêtre Paramètres de point d’arrêt
Prise en charge des compteurs .NET pour les nouveaux instruments via l’API Meters
Tester le profilage avec VS Profiler
Outil Compteurs .NET dans un scénario de débogage

Outils Razor

Fonctionnalités Suggestions de la communauté
Action de code pour la génération de méthode du gestionnaire d’événements
Couleur d’arrière-plan pour le code C#

Développement JavaScript et TypeScript

Fonctionnalités Suggestions de la communauté
Nouveaux modèles React TypeScript et ASP.NET combinés
prise en charge de launch.json pour Open Folder

SQL

Fonctionnalités Suggestions de la communauté
Mise à niveau de Microsoft.Data.SQLClient (MDS) de la version 3.0 vers la version 5.0 dans SQL Server Data Tools

Test

Fonctionnalités Suggestions de la communauté
Nouveau IntelliTest maintenant en préversion

Amélioration des performances

Fonctionnalités Suggestions de la communauté
Amélioration de la réactivité Razor/Blazor
Vitesse F5 améliorée
IntelliSense optimisé pour C++ Unreal Engine
Accélération de build pour les projets .NET de style non SDK

Gestion de l'entreprise

Fonctionnalités Suggestions de la communauté
Étapes d’initialisation de client simplifiées pour les administrateurs informatiques

Autres suggestions de Developer Community : vous avez posé la question, nous avons écouté !


Fonctionnalités de productivité

GitHub Copilot

L’optimisation de votre productivité avec Visual Studio est beaucoup plus simple dans la dernière version de Visual Studio. La saisie semi-automatique GitHub Copilot est désormais disponible en tant que composant facultatif, ce qui facilite l’installation auprès d’une nouvelle installation de Visual Studio, ou l’empaquetage avec une mise à jour d’un administrateur. Un abonnement est requis pour activer les fonctionnalités, l’essai gratuit est disponible.

Détails du composant : ID de charge de travail et de composant Visual Studio Enterprise | Microsoft Learn.

Rechercher et remplacer en conservant la casse

Lorsque vous effectuez un Remplacer, vous pouvez maintenant conserver la casse d’origine de chaque correspondance de votre code. Notez que pour obtenir la casse Pascal et la casse Camel, votre chaîne Remplacer doit être en casse Pascal ou Camel.

Rechercher et remplacer en conservant la casse

Activer ou désactiver la conservation de la casse dans la fenêtre Remplacer avec Alt+V ou en cliquant sur l’option Conserver la casse.

Remplacement rapide (Ctrl+H) :

Remplacement rapide en conservant la casse

Remplacer dans les fichiers (Ctrl+Shift+H) :

Remplacement en conservant la casse dans les fichiers

Partagez vos réflexions sur l’expérience de remplacement avec conservation de la casse sur ce ticket de la Developer Community : Rechercher et remplacer en conservant la casse dans plusieurs fichiers.

Créer une demande de tirage (pull request) dans Visual Studio

Au lieu d’utiliser le navigateur, vous pouvez créer votre demande de tirage dans Visual Studio. Utilisez l’éditeur Markdown avec vos descriptions de demande de tirage pour afficher des en-têtes, des listes à puces et d’autres syntaxes Markdown en cliquant sur le bouton « Aperçu ». Activez cette option via Fonctionnalité d'évaluation > Demande de tirage.

Utiliser Markdown et ajouter des réviseurs à une demande de tirage

Nous avons itéré dans les versions préliminaires pour offrir une meilleure gestion des erreurs et une expérience de réviseur améliorée. Faites-nous savoir ce que vous pensez de l’expérience de demande de tirage (pull request) ici.

Ajoutez des réviseurs à une demande de tirage

Vous pouvez maintenant ajouter vos réviseurs à vos demandes de tirage dans Visual Studio pour Azure DevOps et GitHub.

Ajouter des réviseurs à une demande de tirage

Essayez cette opération en cliquant sur le lien « Créer une demande de tirage » qui s’affiche à l’envoi (push) ou en sélectionnant Git > GitHub ou Azure DevOps > Nouvelle demande de tirage dans le menu de niveau supérieur. Ensuite, accédez à la section Réviseurs et recherchez les réviseurs que vous souhaitez ajouter. Nous prévoyons de continuer à apporter des mises à jour pour améliorer cette expérience de demande de tirage (pull request). Par conséquent, veuillez partager vos commentaires sur cette fonctionnalité ici et contactez-nous sur le ticket de suggestion dans Developer Community.

Nous avons également ajouté une meilleure gestion des erreurs et amélioré la recherche du réviseur. Faites-nous savoir ce que vous pensez de l’expérience de demande de tirage (pull request) ici.

Vue Diff récapitulative

En tant que continuation de nos efforts pour améliorer l’expérience de différences dans Visual Studio, nous avons implémenté l’affichage Résumé dans les différences et comparer les vues. Cette nouvelle option vous permet de voir uniquement les modifications dans le fichier avec quelques lignes de contexte, en examinant vos modifications dans une validation ou la comparaison entre deux fichiers beaucoup plus efficace.

Vue Diff récapitulative

Dites-nous ce que vous pensez de cette fonctionnalité en partageant vos commentaires ici et communiquez avec nous en utilisant le ticket de suggestion dans Developer Community.

Paramètre d’activation du multiréférentiel et augmentation de la limite

Dans certains workflows, il était important de contrôler si plusieurs référentiels ont été activés automatiquement. Avec un nouveau paramètre, vous pouvez vous concentrer sur un référentiel individuel sans voir l’interface utilisateur multiréférentiel. En outre, nous avons augmenté à 25 le nombre de référentiels que vous pouvez utiliser à la fois.

Paramètre multi-référentiel

Avatars GitHub ajoutés à la fenêtre référentiel Git

Consultez vos avatars GitHub dans le graphique multibranche dans la fenêtre référentiel Git.

Avatars GitHub

Outils GitHub Actions

Nous avons résolu le comportement inattendu du nouveau nœud GitHub Actions dans Explorateur de solutions apparaissant pour les référentiels non hébergés sur GitHub.com. Le nouveau nœud doit maintenant apparaître uniquement pour les référentiels hébergés sur GitHub.com. Ensuite, nous travaillons sur la possibilité de désactiver le nouveau nœud via Outils > Options.

Recherche et navigation dans le code

Comme nous avons travaillé sur les performances et les améliorations de fiabilité dans l’expérience De recherche tout-en-un, nous avons également ajouté une barre d’état qui affiche le nombre de chaque type de résultat retourné.

Recherche tout-en-un

Microsoft Teams Toolkit

Dans la dernière version 17.8 de Visual Studio 2022, nous présentons d’autres modèles de projet pour s’adapter à un scénario d’entreprise plus simple et pour simplifier le démarrage. Voici les nouveaux modèles :

– un modèle Echo Bot qui fait écho aux entrées utilisateur. – un modèle Déploiement de lien qui est un type d’application d’extensions de message qui peut afficher des liens d’URL vers des cartes adaptatives. – un modèle Résultat de recherche personnalisé qui est un type de recherche d’applications d’extensions de message qui peuvent permettre aux utilisateurs de rechercher et d’afficher directement les résultats de la zone de conversation ou de la barre de recherche. – un modèle Collecter à partir d’entrée et Traitement de données qui est un type d’action d’application Extensions de message qui obtient des entrées des utilisateurs, effectue une logique, puis renvoie les résultats aux utilisateurs.

Nous revoyons également l’aspect de l’interface utilisateur pour vous permettre de sélectionner plus facilement parmi les modèles, nous ajoutons des filtres et des balises pour différents types de modèles.

Interface utilisateur des modèles de kit d’outils d’équipes

Notification de mise à jour Visual Studio

Vous avez remarqué quelque chose de nouveau ? Pour Visual Studio 2022, nous avons ajouté une superposition à l’icône de la barre des tâches VS pour vous aider à savoir quand VS sera mis à jour.
Lorsqu’une mise à jour est disponible et que vous avez activé l’option « Mettre à jour à la fermeture », l’icône s’affiche. Une fois que vous fermez VS, une mise à jour démarre immédiatement et, par conséquent, l’icône disparaîtra également. Pour plus d’informations sur Mettre à jour à la fermeture, consultez Mise à jour de VS à la fermeture.

Mettre à jour

En plus Nous avons résolu un problème où le fournisseur Git SCC est lié à des dossiers non Git en mode Ouvrir un dossier et empêche d’autres fournisseurs tels que VisualSVN de fonctionner.


C++ et développement de jeux

  • Nous avons ajouté la prise en charge des utilisateurs pour exécuter leurs tests unitaires Linux distants à partir de l’Explorateur de tests dans Visual Studio vers des machines Linux distantes auxquels ils sont connectés via le gestionnaire des connexions

  • Ajout de la fenêtre Détails du problème pour la navigation des diagnostics structurés. Ouvrez-le à l’aide de l’icône Détails d’une entrée dans la liste d’erreurs.

Diagnostics structurés

  • Nous avons maintenant implémenté la prise en charge de la bibliothèque de conversations C11 facultative. Cela inclut les conversations, les mutex, les variables de condition et le stockage local de conversations.
  • CMake version 3.27 est désormais fourni avec Visual Studio dans la charge de travail Développement Desktop avec C++.
  • Vous pouvez maintenant accéder à la vue Cibles CMake en cliquant avec le bouton droit n’importe où dans votre Explorateur de solutions et en sélectionnant Basculer vers la vue Cibles CMake.

Bouton Basculer vers les cibles CMake

  • Vous pouvez désormais accéder à la vue cibles CMake en la sélectionnant dans la liste déroulante Affichage.

Liste déroulante Affichage des cibles CMake

  • La vue Cibles CMake a été simplifiée afin que les utilisateurs n’aient pas à cliquer sur des dossiers sans exécutables pouvant être générés pour accéder à leur cible souhaitée.
  • Vous pouvez maintenant afficher et modifier des fichiers sur votre ordinateur distant dans Visual Studio via la fenêtre Explorateur de fichiers à distance.

Explorateur de fichiers distants

  • Vous pouvez désormais facilement rendre les fonctions globales « statiques ».
  • Lorsque vous disposez d’une fonction gratuite qui n’est pas dans un espace de noms anonyme et qu’il manque une déclaration de transfert dans un fichier d’en-tête, vous recevrez une suggestion pour la marquer comme statique.

Exemple de déclaration d’une fonction globale comme statique

  • Vous pouvez ajuster les paramètres de cette fonctionnalité en accédant à > Options > Éditeur de texte > C/C++ > IntelliSense.

Paramètre pour rendre une fonction globale statique

  • Ajout de nouveaux extraits de code pour Unreal Engine. Commencez à taper du texte dans la fenêtre de l’éditeur pour que des extraits de code Unreal Engine s’affichent sous forme d’éléments de liste de membres dans vos projets Unreal Engine. Appuyez sur la touche TAB ou Entrée pour créer l’extrait de code. Les extraits de code pris en charge incluent (UClass, UClassExported, UENUM, UFUNCTION, UINTERFACE, UINTERFACEExported, UPROPERTY, USTRUCTExported, UELOG, SWidget, TActorRange, TObjectRange, WITH_EDITOR)

Extraits de code Unreal Engine

  • Vous pouvez maintenant créer, gérer et exécuter vos tests Unreal Engine dans Visual Studio. Pour que l’adaptateur de test Unreal Engine soit activé correctement, vérifiez que « Adaptateur de test Unreal Engine » est sélectionné dans Visual Studio Installer sous la charge de travail « Développement de jeux avec C++ ». Après avoir installé l’adaptateur de test Unreal Engine, vos tests Unreal Engine s’affichent automatiquement dans l’explorateur de tests quand vous ouvrez Visual Studio. La dernière version de notre plug-in Unreal Engine à partir du marketplace UE ou GitHub est requise.

Exemple Tafue

  • Nous avons ajouté une « Vue Fonctions » pour les intégrations Build Insights dans Visual Studio. Le rapport de diagnostic généré par Recommandations affiche désormais le temps de génération de fonction ainsi que ForceInlines.

Vue des fonctions C++ Build Insights

  • Ajout de suggestions automatiques pour faire des fonctions membres const si elles ne doivent pas modifier logiquement l’état de l’objet. En pointant sur une fonction membre et en cliquant sur l’icône d’ampoule, vous pouvez accéder rapidement aux suggestions pour marquer la fonction comme const.

Suggestions lightbulb de fonction membre d’indicateurs const

  • Vous pouvez maintenant pointer sur une classe, un struct, une union, un type de base ou une énumération pour voir la taille et l’alignement.

Taille et alignement

  • Vous avez maintenant la possibilité de trier vos directives #include. Cette fonctionnalité est accessible via la liste déroulante « directives #include » dans le menu contextuel. Vous pouvez également y accéder en ajoutant « Trier des directives #include (C++) » dans les paramètres de configuration du nettoyage du code.

Entrée du tri Includes

  • Vous pouvez ajuster l’ordre de tri pour qu’il s’aligne sur vos préférences en accédant à Outils > Options > Éditeur de texte > C/C++ > Nettoyage du code.

Paramètre du tri Includes

  • /FU n’est plus pris en charge pour les compilations C, car il n’y a pas de prise en charge de /clr pour C.
  • /FU:asFriend a été ajouté pour fournir la parité avec #using <assembly> as_friend dans la source.

F#

  • A effectué une révision des correctifs de code, en résolvant de nombreux bogues (détails ici).
  • Introduction d’un nouveau correctif de code qui change égal (=) en un signe deux-points (:) dans les définitions de champs d’enregistrement : Nouveau correctif de code F#
  • Implémentation d’une option permettant d’activer les diagnostics pour les fichiers non ouverts. Cette option est désactivée par défaut pour les considérations relatives aux performances (détails ici).
  • L’autocomplétion améliorée dans différents scénarios, notamment :
    • Champs d’enregistrement anonyme : Amélioration de l’autocomplétion dans les champs d’enregistrement anonyme
    • Champs de cas d’union : Amélioration de l’autocomplétion dans les champs de cas d’union
    • Champs de cas d’union discriminés : Amélioration de l’autocomplétion dans les champs de cas d’union discriminée
    • Énumération des expressions de valeur de cas : Amélioration de l’autocomplétion dans les expressions de valeur de cas d’énumération
  • Résolution des problèmes liés à la gestion des enregistrements anonymes dans FSI (#15519).
  • Numéros de ligne trompeurs rectifiés dans FSI (#15384).
  • Info-bulles unifiées pour les propriétés automatiques : Info-bulles unifiées pour les propriétés automatiques
  • Indicateurs de nom de paramètre améliorés en les masquant pour les noms d’arguments qui correspondent aux champs d’union discriminés : Indicateurs de nom de paramètre améliorés
  • Résolution des problèmes liés à la navigation vers les définitions des énumérations externes et des unions discriminées (#15270).
  • Correction des références de recherche pour les opérateurs commençant par « > » (#15386).

Débogage et diagnostics

Outil Compteurs .NET dans un scénario de débogage

Vous disposez maintenant d’un accès pratique au compteur .NET via la fenêtre de diagnostics en choisissant la sélection des compteurs .NET dans le menu déroulant « Sélectionner l’outil ». Même si vous effectuez des sessions de débogage, vous pouvez utiliser les fonctionnalités des compteurs .NET pour superviser et évaluer les métriques de performances cruciales.

.NET Counters

Prise en charge du débogage enc/Rechargement à chaud multiplateforme

Nous avons ajouté la prise en charge des scénarios Modifier et Continuer pour F5 (avec débogueur) et Ctrl-F5 (aucun débogueur) lors du diagnostic et du débogage d’applications hébergées sur des conteneurs Linux ou dans Sous-système Windows pour Linux (WSL). Notez que le scénario de débogage F5 s’appuie sur .NET 8 RC1 et versions ultérieures.

Déboguer Linux App Services via Attacher au processus

Nous sommes ravis de dévoiler une nouvelle et puissante fonctionnalité, qui permet le débogage de processus .NET dans Linux App Services : via « Attacher au processus ».
Cette fonctionnalité permet aux développeurs de déboguer et de diagnostiquer facilement les problèmes au sein de leurs instances Linux Azure App Services en cours d’exécution.

Pour attacher à un processus :

1.Sélectionnez Déboguer > Attacher au processus (ou appuyez sur CTRL+ALT+P) pour ouvrir la boîte de dialogue Attacher au processus.

2.Vérifiez le type de connexion. Il doit s’agir de « Microsoft Azure App Service »

3.Définissez la cible de connexion sur le nom de votre machine Linux.

4.Sélectionnez le processus disponible approprié, puis cliquez sur « Attacher »

LinuxAppServices-Attach-to-Process

IDiagnosers BenchmarkDotNet

Visual Studio Profiler prend désormais en charge BenchmarkDotNet IDiagnosers. Ces IDiagnosers jouent un rôle crucial dans l’agrégation des diagsessions au sein de scénarios BenchmarkDotNet.
L’onglet Benchmark offre une visualisation des points de référence exécutés. Il offre également la possibilité de choisir précisément un point de référence du couloir en double-cliquant sur une ligne spécifique.

IDiagnosers-swimlane

Vous avez également la possibilité d’accéder au fichier source via le menu contextuel du clic droit. Les données statistiques sont sourcées directement depuis BenchmarkDotNet et sont présentées dans un format de grille structurée.

IDiagnosers-gotosource

Prise en charge améliorée du thème pour une fenêtre Paramètres de point d’arrêt

Nous avons ajouté la prise en charge tous les thèmes à la fenêtre Paramètre de point d’arrêt, ce qui garantit une cohérence transparente entre les thèmes Clair, Sombre et Bleu de Visual Studio.

breakpoint-settings

Prise en charge des compteurs .NET pour les nouveaux instruments via l’API Meters

L’outil .NET Counters introduit désormais l’intégration de l’API .NET Meters, englobant de nouvelles options d’instrument, notamment « Counter » et « ObservableCounter »

Le « Counter » effectue le suivi d’une valeur qui change au fil du temps, avec les mises à jour de création de rapports de l’appelant à l’aide de « Counter.Add. » En revanche, le « ObservableCounter » est semblable au Counter, mais l’appelant s’occupe de suivre la valeur totale. Actuellement, l’outil Compteurs .NET signale le taux de change dans le total.

Vous trouverez ces métriques dans la liste des métriques des compteurs .NET, offrant une visibilité améliorée des performances système et de l’utilisation des ressources. En outre, nous prévoyons activement d’introduire d’autres options d’instrument à l’avenir afin d’améliorer encore davantage cette capacité.

17.8.p2.DotNetCounter-MetersApi.mp4

Tester le profilage avec Diagnostics Hub

Nous sommes heureux de vous présenter une nouvelle fonctionnalité de profilage des tests. Lorsque vous cliquez avec le bouton droit sur votre test dans l’Explorateur de tests et sélectionnez « Profil », vous pouvez désormais choisir entre un ensemble d’outils disponibles, notamment :

  • Utilisation de l’UC
  • Utilisation du GPU
  • E/S de fichier
  • .NET Async
  • Observateur d’événements

Sélectionnez les outils que vous souhaitez utiliser, puis cliquez sur « Démarrer » et un rapport sera fourni.

Test de profilage


Outils Razor

Action de code pour la génération de méthode du gestionnaire d’événements

Si vous utilisez un événement comme @onclick ou @onactivate pour référencer une méthode C# qui n’a pas encore été définie, vous pouvez utiliser une nouvelle action de code Razor pour générer automatiquement cette méthode de gestionnaire d’événements. Cette action de code prend également en charge les arguments d’événement personnalisés.

Action de code pour la génération de méthode du gestionnaire d’événements

Couleur d’arrière-plan pour le code C#

Vous avez maintenant la possibilité d’ajouter une couleur d’arrière-plan pour le code C# situé dans les fichiers Razor. Désactivé par défaut, activez cette option en accédant à l’éditeur > de texte Options outils > > Razor > Advanced et en définissant l’arrière-plan pour le code C# sur True.

Couleur d’arrière-plan pour le code C#


Développement JavaScript et TypeScript

Nouveaux modèles React TypeScript et ASP.NET combinés

Lorsque nous avons initialement publié javaScript/TypeScript avec ASP.NET modèles combinés dans ce billet de blog, nous avons reçu des commentaires indiquant que les utilisateurs méritent une meilleure expérience de création de projet React TypeScript. Ce nouveau modèle combiné TypeScript React avec ASP.NET obtient la configuration tsconfig et SpaProxy prête à l’emploi.

Modèles React TypeScript et ASP.NET combinés

prise en charge de fichiers .json pour Open Folder

Lorsque vous choisissez d’ouvrir un dossier sur votre espace de travail avec launch.json dans le répertoire .vscode pour stocker vos paramètres de lancement et de débogage, il sera reconnu par Visual Studio et inclus dans le menu déroulant des cibles de débogage juste à côté du bouton vert.

prise en charge de launch.json pour Open Folder


SQL

  • Mise à niveau de Microsoft.Data.SQLClient (MDS) de la version 3.0 vers la version 5.0 dans SQL Server Data Tools (SSDT) En savoir plus
  • Deux nouveaux champs sont ajoutés à la boîte de dialogue Connecter Boîte de dialogue Connecter
  • La propriété Chiffrer a maintenant la valeur true (activée) par défaut lors de la connexion. Si un serveur n’a pas de certificat approuvé configuré, l’utilisation du certificat de serveur de confiance défini sur true peut être appropriée. Pour plus d’informations, consultez cette documentation

Nouveau IntelliTest maintenant en préversion

IntelliTest explore votre code .NET pour générer des suites de test avec une couverture de code élevée, alimentée par la dernière version du résolveur de problèmes Z3. Lorsque vous générez des tests, vous avez la possibilité de sélectionner les tests que vous souhaitez conserver dans un projet de test qui peut servir de suite de régression. À mesure que votre code est mis à jour, vous pouvez réexécuter IntelliTest pour conserver les tests générés en synchronisation avec votre code.

Les implémentations précédentes de cette fonctionnalité Êdition Entreprise ne prenaient en charge que le code ciblant .NET Framework et ne prenaient pas en charge la configuration x64. Cette version mise à jour inclut les éléments suivants :

Activer cette fonctionnalité via Outils > Gérer les fonctionnalités d'évaluation et en sélectionnant la prise en charge d’IntelliTest pour NetFx et Net6 à l’aide de Z3 v4 (nécessite un redémarrage).

Activer Intellitest

Ensuite, dans votre code, cliquez avec le bouton droit dans une méthode et sélectionnez IntelliTest (préversion) et soit Créer un projet pour créer un projet dans lequel vos tests peuvent être enregistrés ou Générer des tests pour générer un ensemble de tests à examiner et déterminer ceux à conserver.

Activer Intellitest dans le code


|

Amélioration des performances

Amélioration de la réactivité Razor/Blazor

Les solutions utilisant Razor et Blazor connaissent une meilleure réactivité. Nous avons obtenu ce résultat en réduisant considérablement les allocations de mémoire pendant les communications entre Visual Studio et Roslyn. Nous avons testé la solution OrchardCore et les résultats sont impressionnants. Pour ouvrir la solution et préparer Razor IntelliSense, nous allouons environ 1,4 Go de mémoire en moins. Moins d’allocations de tas signifient moins de travail pour le récupérateur de mémoire, ce qui entraîne une réactivité améliorée.

Vitesse F5 améliorée

Nous avons considérablement amélioré les performances F5 pour les projets natifs en optimisant la configuration des points d’arrêt. Les améliorations observées par un projet donné dépendent du nombre de fichiers avec des points d’arrêt, du nombre de DLL avec des symboles, etc. En outre, nous avons optimisé le processus de chargement PDB pour les applications Windows, ce qui réduit le temps nécessaire pour charger une base de données PDB une fois celle-ci localisée. Dans nos tests, ces optimisations ont permis une amélioration remarquable de 20 % de la vitesse pour les projets Unreal Editor.

Vitesse F5 améliorée

IntelliSense optimisé pour C++ Unreal Engine

Nous avons apporté des améliorations à la vitesse avec laquelle IntelliSense et la colorisation deviennent disponibles après l’ouverture d’un fichier C++ précédemment ouvert. Nous avons toujours mis en cache l’état IntelliSense pour un fichier ouvert. Dans la version 17.8, nous avons restructuré la lecture à partir du cache, de sorte que les informations les plus critiques, notamment la colorisation et la mise en surbrillance des références sélectionnées, sont calculées en premier. Cette optimisation vous permet de gagner en productivité plus tôt.

IntellisenseCPlus

Accélération de build pour les projets .NET de style non SDK

Visual Studio 17.8 étend l’accélération de build aux applications managées ciblant les projets de style non SDK (par exemple, les projets ciblant .NET Framework 4.8 ou version antérieure), avec un impact substantiel sur les temps de build. Pour activer, définissez une propriété de projet msbuild comme suit :

<Project> 
    <PropertyGroup>  
        <AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
    </PropertyGroup>  
</Project>   

Cela s’appuie sur la réussite introduite dans la version 17.5 pour les projets de style SDK, avec une réduction considérable des temps de build incrémentiels.

Dans nos tests internes avec des solutions maison, nous avons remarqué jusqu’à une amélioration de 50 % des temps de build incrémentiels. Toutefois, l’amélioration réelle dépend de l’état des projets au début du build. Plus précisément, moins les projets ont été modifiés par rapport au total des projets de la solution, plus l’amélioration est grande. L’étendue réelle de l’amélioration que vous constaterez dépend des caractéristiques spécifiques de votre projet et de ses modifications.

Gestion de l'entreprise

Les administrateurs peuvent désormais initialiser facilement les ordinateurs clients avant de déléguer le contrôle standard des utilisateurs de mise à jour ou de modification leur installation de Visual Studio. Désormais, vous pouvez installer par programmation uniquement le programme d’installation en exécutant « vs_enterprise.exe install --installerOnly ».

Les administrateurs qui tirent parti de notre solution de mise à jour d’administrateur pour fournir des mises à jour de sécurité mensuelles au sein de leur organisation peuvent désormais inviter les utilisateurs à fermer Visual Studio, ce qui est une situation courante qui empêche l’application des mises à jour de l’administrateur. Pour activer l’invite, configurez la nouvelle stratégie globale « AdministratorUpdatesNotifications » disponible dans le catalogue des paramètres Intune et dans nos modèles ADMX. Merci à la communauté d’administrateurs qui a suggéré cette fonctionnalité.


Commentaires et suggestions

Nous sommes à votre écoute ! Pour signaler un problème ou suggérer une fonctionnalité Icône Commentaires, vous pouvez soit utiliser l’icône Envoyer des commentaires située en haut à droite du programme d’installation ou de l’environnement IDE de Visual Studio, soit accéder à Aide > Envoyer des commentaires. Vous pouvez suivre vos problèmes à l’aide de Visual Studio Developer Community, où vous ajoutez des commentaires ou cherchez des solutions. 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.


Haut de page