Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
La dernière version de Visual Studio 2022 est 17.14. Pour plus d’informations, consultez les notes de publication .
Nous sommes heureux d'annoncer la disponibilité de Visual Studio 2022 v17.12. Cette mise à jour se concentre sur la fourniture d’expériences de développement fantastiques pour travailler avec des projets .NET 9 et de nouvelles fonctionnalités de productivité AI, ainsi que des améliorations continues.
Fonctionnalités
Liste des fonctionnalités de 17.12 publiée le 12 novembre 2024.
Productivité
copieà partir de la liste d’erreurs 📣
Copie d’une erreur à partir de la liste d’erreurs copie désormais uniquement la description au lieu de la ligne entière dans le Presse-papiers.
Vous voyez une erreur dans la liste d’erreurs que vous ne savez pas comment corriger. Par conséquent, vous le sélectionnez et appuyez sur Ctrl+C pour copier la description d’une recherche web. Une fois que vous l’avez collé dans le moteur de recherche, vous réalisez qu’il a copié tous les en-têtes de colonne et les valeurs de ligne au lieu de la description uniquement. Vous devez maintenant supprimer tout sauf la description d’erreur avant de pouvoir effectuer la recherche web. C’est fastidieux, mais maintenant nous avons un correctif !
![]()
Lorsque vous copiez une erreur à partir de la liste d’erreurs à l’aide de Ctrl+C, seule la description est copiée dans le Presse-papiers. Cela facilite la recherche de l’erreur en ligne ou de la partager avec d’autres personnes.
Vous pouvez toujours copier la ligne entière en cliquant avec le bouton droit sur l’erreur et en sélectionnant Copier le de ligne dans le menu contextuel ou en appuyant sur Ctrl+Maj+C.
Si ce que vous vouliez faire avec la description d’erreur était d’effectuer une recherche web, appuyez simplement sur Ctrl+F1 pour rechercher des informations sur l’erreur en ligne.
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Accéder à la ligne n’importe où dans la recherche de code 📣
Dans recherche de code, vous pouvez désormais accéder à une ligne spécifique dans le document actif ou dans un autre document spécifié.
Parfois, vous savez qu’il y a un problème sur une certaine ligne dans votre code et que vous souhaitez y accéder rapidement. Peut-être avez-vous été informé d’une erreur levée sur la ligne 43 d’un fichier, ou vous souhaitez accéder au bas d’un fichier spécifique.
recherche de code prend désormais en charge la navigation rapide vers une ligne spécifique dans votre code.
Ouvrez recherche de code et accédez à une ligne dans le document actuel à l’aide du signe deux-points + numéro de ligne. Par exemple,
:39accédez à la ligne 39 dans le fichier actif.
![]()
Vous pouvez également accéder à une ligne dans un autre document à l’aide du nom de fichier + deux-points + numéro de ligne. Par exemple,
Order:43accède à la ligne 43 dans Order.cs. Si vous ne spécifiez pas le nom exact du fichier, la recherche tentera de trouver la meilleure correspondance.
![]()
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Ancrer la fenêtre Recherche de code 📣
Vous pouvez maintenant positionner librement la fenêtre Recherche de code avec des fonctionnalités telles que l’ancrage et le masquage automatique.
Si vous avez besoin de code ou de recherche de fonctionnalités pour rester hors de votre chemin, vous avez maintenant plus de contrôle sur le comportement de la fenêtre de recherche.
Vous pouvez maintenant ancrer la fenêtre de recherche et effectuer des actions de fenêtre d’outil avec celle-ci, comme Explorateur de solutions et d’autres.
recherche
Après avoir ouvert de recherche de code ou de recherche de fonctionnalités, cliquez sur l’icône de zone située en haut à droite pour la convertir en fenêtre outil. Vous pouvez choisir de l’ancrer ailleurs, de le faire apparaître, de masquer automatiquement, etc. Vous pouvez revenir à la fenêtre contextuelle ignorée en cliquant sur l’icône en haut à droite.
![]()
Nous avons également simplifié et nettoyé l’expérience de préversion dans la recherche. Il existe maintenant un bouton, indiqué avec une icône d’œil, pour activer et désactiver l’aperçu.
![]()
La position du panneau d’aperçu s’ajuste également en fonction des dimensions de la fenêtre de recherche.
recherche
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Customize indicateur de texte réduit 📣
Set des couleurs personnalisées pour l’indicateur de texte réduit dans l’éditeur Visual Studio.
Vous pouvez désormais personnaliser votre expérience d’éditeur encore plus loin avec les nouvelles options permettant de personnaliser l’indicateur de texte réduit :
![]()
Pour essayer et définir des couleurs de premier plan et d’arrière-plan personnalisées pour chacun, accédez à Outils > Options > Environnement > Polices et couleurs.
![]()
Là, vous trouverez deux nouveaux éléments pour la personnalisation :
- indicateur de texte réduit (réduit)
- indicateur de texte réduit (développé)
Vous pouvez définir les couleurs des indicateurs réduits et développés indépendamment des autres à l’aide de couleurs prédéfinies ou de couleurs personnalisées de votre choix.
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Actualiser les résultats de recherche 📣
Vous pouvez maintenant actualiser les résultats dans une recherche précédente pour obtenir up-tocorrespondances de recherche date.
Nous avons entendu beaucoup d’utilisateurs qu’il est frustrant de rouvrir la fenêtre Rechercher et de passer par les mouvements de rétablissement d’une recherche pour obtenir des résultats mis à jour. Peut-être que vous venez de refactoriser du code et de confirmer que tout a été modifié comme prévu, ou vous avez extrait certaines modifications récentes et avez besoin de votre opération de recherche récente pour refléter ces mises à jour.
Après avoir terminé Rechercher dans les fichiers, vous avez maintenant la possibilité d’actualiser les résultats de recherche dans la fenêtre. Vous obtiendrez vos résultats mis à jour sans avoir à rétablir la recherche.
Arrêter la recherche
Nous avons également repensé l’ancienne option Repeat Find pour la distinguer de l’actualisation. Il est désormais représenté sous forme De modification de la recherche avec une icône de crayon. Ce bouton rouvrira toujours Rechercher dans les fichiers avec les mêmes critères de recherche que ceux que vous avez utilisés pour cette fenêtre de résultats.
![]()
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Plus d’espace pour la barre de défilement horizontale 📣
Vous pouvez maintenant contrôler la visibilité des indicateurs de niveau fichier dans CodeLens.
La zone avec la barre de défilement horizontale peut être assez encombrée dans Visual Studio. Nous vous aidons à le nettoyer plus facilement en désactivant les indicateurs de niveau fichier dans CodeLens par défaut.
![]()
Si vous souhaitez activer l’option, vous trouverez l’option Afficher l’indicateur CodeLens au niveau du fichier sous Outils > Options > Éditeur de texte >avancé. Cette option affecte la visibilité des types de fichiers qui ont le contrôle CodeLens au niveau du fichier dans la marge de l’éditeur inférieur, comme XAML, HTML et CSS, et n’affecte pas les fichiers qui contiennent codeLens inline.
option
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
nettoyage de code non bloquant lors de l’enregistrement
Lorsque le nettoyage du code est exécuté sur l’enregistrement, il fonctionne désormais de manière non bloquante, pour une expérience de codage plus fluide.
Auparavant, quand un nettoyage du code est exécuté sur l’enregistrement, vous ne pouvez effectuer aucune action dans l’IDE. Nous avons maintenant amélioré cela pour fonctionner de manière non bloquante.
Le processus de nettoyage s’exécute en arrière-plan et peut être automatiquement annulé si vous reprenez la saisie, ce qui garantit une expérience de codage plus fluide et plus réactive.
nettoyage du code
![]()
Dépendancestransitives dans l’interface utilisateur Gestionnaire de package au niveau de la solution
Lorsque vous examinez l’onglet Installé dans l’interface utilisateur du gestionnaire de package de Visual Studio au niveau de la solution, il affiche désormais les packages directs et transitifs.
Auparavant, sous l’onglet Installé dans l’interface utilisateur du gestionnaire de package de Visual Studio, vous pouvez voir les dépendances directes et transitives uniquement pour vos projets. Avec cette version, nous avons également ajouté la possibilité de voir les dépendances transitives pour le niveau solution.
![]()
Dépendancestransitives avec des vulnérabilités dans Explorateur de solutions
Paramètre
NuGetAuditModesurall, Explorateur de solutions affiche des indicateurs pour les dépendances transitives avec vulnérabilités.NuGet Audit, d’abord ajouté dans Visual Studio 17.8 (et .NET 8), fournit des avertissements lors de la restauration si des packages utilisés par votre projet présentent des vulnérabilités connues.
Pour plus d’informations sur NuGet Audit, y compris toutes les options de configuration, consultez la documentation sur nuGet Audit.
Ces vulnérabilités peuvent être dans vos dépendances directes ainsi que dans les dépendances transitives (les packages dont dépendent vos dépendances). Maintenant, si vous définissez
NuGetAuditModesurall, Explorateur de solutions affiche les indicateurs non seulement pour les dépendances directes, mais également pour les dépendances transitives avec des vulnérabilités.
![]()
GitHub Copilot
Ask GitHub questions supplémentaires
Search dans GitHub pour rechercher des validations, des problèmes, des demandes de tirage, des dépôts et des rubriques, directement à partir de Visual Studio.
Vous pouvez désormais utiliser le GitHub Copilot Chat pour rechercher des validations, des problèmes, des demandes de tirage, des référentiels et des rubriques dans GitHub.
Vous pouvez poser des questions telles que :
- @github Quelles sont toutes les demandes de tirage ouvertes qui m’ont été affectées ?
- @github Quels sont les derniers problèmes qui m’ont été attribués ?
- @github Quand était la dernière version ?
- @github Me montrer les demandes de tirage fusionnées récentes de @davidfowl
![]()
Cette fonctionnalité est disponible pour tous les utilisateurs GitHub Copilot. En savoir plus sur les compétences availables GitHub dans la documentation GitHub Copilot.
Important
Pour utiliser cette fonctionnalité, veillez à activer GitHub Copilot
instructions
Custom pour GitHub Copilot
Créer un fichier qui ajoute automatiquement des informations à toutes les questions que vous posez à GitHub Copilot Chat.
Avec GitHub Copilot, vous pouvez recevoir des réponses de conversation adaptées au flux de travail de votre équipe, aux outils préférés et aux spécificités du projet, simplement en fournissant le contexte. Au lieu d’ajouter ces détails contextuels à chaque requête de conversation, vous pouvez créer un fichier qui fournit ces informations automatiquement. Bien que ce contexte supplémentaire n'apparaisse pas dans la conversation, il est disponible pour GitHub Copilot, ce qui lui permet de générer des réponses plus précises et pertinentes.
![]()
Guide pratique pour activer des instructions personnalisées
- Activer la fonctionnalité via Tools > Options > GitHub > Copilot> et vérifier (préversion) Activer les instructions personnalisées à partir de .githubFichiers /copilot-instructions.md et ajoutés aux requêtes.
- Ajoutez copilot-instruction.md à la racine de votre respository dans le fichier .github, créez le fichier s’il n’existe pas déjà.
![]()
En savoir plus sur la création d’instructions personnalisées ici
Important
Pour utiliser cette fonctionnalité, veillez à activer GitHub Copilot
Model sélection dans GitHub Copilot Chat
GitHub Copilot vous permet désormais de choisir votre modèle.
OpenAI o1-preview et o1-mini sont désormais disponibles pour tous les utilisateurs de GitHub Copilot Chat dans Visual Studio.
Vous pouvez maintenant essayer ces modèles en utilisant o1-preview, o1-mini ou le modèle GPT-4o par défaut pour power GitHub Copilot Chat. Avec le changement de modèle disponible, vous pouvez passer de l’explication des API ou de la génération de code de base à l’élaboration d’algorithmes complexes ou de débogage d’erreurs logiques.
Visitez le GitHub Journal des modifications pour en savoir plus sur cette fonctionnalité.
Important
Pour utiliser cette fonctionnalité, veillez à activer GitHub Copilot
Enhanced contextual understanding
Enhanced la compréhension contextuelle dans GitHub Copilot offre des réponses plus précises.
Compréhension contextuelle améliorée dans GitHub Copilot
GitHub Copilot offre désormais une compréhension contextuelle améliorée pour offrir des réponses encore plus précises. Avec cette mise à jour, GitHub Copilot pouvez interpréter intuitivement les caractéristiques clés de votre code, en adaptant les suggestions aux besoins uniques de votre projet. Cette approche plus intelligente de l’assistance au code est conçue pour vous aider à travailler plus efficacement, sans avoir besoin d’ajustements de contexte fréquents.
Essayez-le avec GitHub Copilot aujourd’hui !
Important
Pour utiliser cette fonctionnalité, veillez à activer GitHub Copilot
mises à jour d’exclusion de contenu
Exclusion de contenu prend désormais en charge les sous-modules et les référentiels imbriqués.
Nous avons amélioré la façon dont notre système gère les sous-modules et les référentiels imbriqués, ce qui vous permet de travailler plus facilement avec des structures de projet complexes.
En outre, nous avons ajouté la prise en charge des dépôts non Git, en développant la flexibilité de votre flux de travail et en vous permettant d’intégrer en toute transparence un plus large éventail de projets.
Important
Pour utiliser cette fonctionnalité, veillez à activer GitHub Copilot
'inspection intelligente des variables ia
Optimiser votre flux de travail de débogage avec l’inspection des variables IA intégrées.
L’inspection et l’analyse des valeurs à partir de variables locales, automatiques et DataTips n’ont jamais été plus faciles avec Ask GitHub Copilot dans Visual Studio. Il vous suffit de cliquer avec le bouton droit sur n’importe quelle valeur pour obtenir des insights détaillés basés sur l’IA sur les erreurs, les résultats inattendus ou les anomalies, sans jamais quitter votre IDE.
![]()
Cette fonctionnalité améliore considérablement la vitesse de résolution des problèmes en analysant les variables en temps réel dans votre IDE chaque fois que des valeurs inattendues se produisent.
Important
Pour utiliser cette fonctionnalité, veillez à activer GitHub Copilot
du visualiseur IEnumerable alimenté par l’IA
expressions LINQ modifiables basées sur l’IA dans le visualiseur IEnumerable.
Nous avons amélioré la fonctionnalité d’expression modifiable dans le visualiseur IEnumerable à l’aide de l’IA. La nouvelle fonctionnalité Demander à Copilot permet aux utilisateurs d’exploiter l’IA directement dans la zone de texte d’expression modifiable pour créer des expressions LINQ complexes.
![]()
Pour accéder à la conversation GitHub Copilot, cliquez simplement sur l’icône GitHub Copilot située en bas à droite de la section d’expression modifiable. Dans la conversation, vous trouverez des exemples de syntaxe LINQ. En outre, vous pouvez décrire votre requête en langage naturel et GitHub Copilot générera la requête LINQ correspondante. Pour appliquer le filtrage de requêtes LINQ au visualiseur, utilisez le bouton Afficher dans le visualiseur dans la conversation.
Il fournit des commentaires et des conseils instantanés, ce qui rend le processus de création de filtres et de transformations complexes plus intuitifs et plus efficaces.
Important
Pour utiliser cette fonctionnalité, veillez à activer GitHub Copilot
Debug tests avec GitHub Copilot
Get aide sur le débogage des tests ayant échoué à l’aide de Tests de débogage avec GitHub Copilot.
Vous avez besoin d’aide pour déboguer vos tests unitaires défaillants. À présent, GitHub Copilot pouvez vous aider en vous fournissant un plan de débogage et en vous guidant tout au long du débogage du test qui a échoué pour vous rapprocher du passage en cliquant sur le bouton Debug avec Copilot dans l’Explorateur de tests.
![]()
Une fois que vous avez lancé la fonctionnalité, GitHub Copilot vous fournira un plan de débogage, définissez les points d’arrêt appropriés et regardez les variables et lancez la session de débogage. Lorsqu’il atteint le point d’arrêt, il fournit GitHub Copilot avec des valeurs pour les variables surveillées et détermine votre prochaine étape, continuez le débogage ou corrigez le code du problème. Vous pouvez continuer avec cette conversation jusqu’à ce que vous ayez un test réussi.
![]()
Important
Pour utiliser cette fonctionnalité, veillez à activer GitHub Copilot
Fix code avec GitHub Copilot 📣
GitHub Copilot vous aide à résoudre les problèmes de code.
GitHub Copilot est désormais intégré à la liste des ampoules et des erreurs, ce qui vous fournit des correctifs rapides et des explications détaillées sur les problèmes de code. Que vous développiez en C# ou C++, cette fonctionnalité vous aide à comprendre et à résoudre les problèmes de votre codebase plus efficacement.
Pour commencer, appelez simplement l’ampoule et sélectionnez Fix avec Copilot. Cela lancera une conversation inline avec GitHub Copilot, vous offrant un correctif disponible.
code
Vous pouvez également sélectionner l'icône GitHub Copilot dans la liste d'erreurs pour ouvrir le panneau de conversation, où vous trouverez des explications détaillées et des solutions pour l'erreur à la main.
code
En tirant parti de LLMs, GitHub Copilot fournit des explications et des correctifs utiles directement dans la liste des ampoules et des erreurs, ce qui améliore votre expérience de codage.
📣 See feature ticket pour partager vos commentaires et poursuivre la conversation.
Important
Pour utiliser cette fonctionnalité, veillez à activer GitHub Copilot
Better AI achèvements pour C#
GitHub Copilot apporte un contexte supplémentaire à partir de fichiers sources pertinents afin d’améliorer les achèvements pour C#.
GitHub Copilot les saisies semi-automatiques fournissent des suggestions de saisie semi-automatique au fur et à mesure que vous codez. Ces suggestions sont générées en fonction du contenu de votre fichier actif et de tous les autres fichiers ouverts dans votre éditeur. Toutefois, nous avons découvert que l’incorporation d’un contexte plus pertinent améliore considérablement ces suggestions.
Pour améliorer l'expérience des développeurs C#, nous avons mis à jour GitHub Copilot pour inclure un contexte C# supplémentaire, tel que les types et méthodes disponibles dans les achèvements.
Avec la dernière version de Visual Studio, GitHub Copilot prend désormais automatiquement en compte les fichiers sémantiquement pertinents pour un contexte supplémentaire, même si ces fichiers ne sont pas ouverts dans votre éditeur. Cette amélioration permet de réduire les hallucinations tout en offrant des suggestions plus pertinentes et précises.
Before : les fichiers sémantiquement pertinents ne sont pas considérés comme contexte pour les saisies semi-automatiques GitHub Copilot
les fichiers
After : les fichiers sémantiquement pertinents sont considérés comme contexte pour les saisies semi-automatiques GitHub Copilot
les fichiers
Important
Pour utiliser cette fonctionnalité, veillez à activer GitHub Copilot
Reference code dans GitHub Copilot
Présentation du référencement de code dans GitHub Copilot, ce qui vous permet d’autoriser les suggestions de code contenant des correspondances de code public tout en recevant des informations détaillées sur match.
Nous sommes heureux d'annoncer que le référencement de code est désormais disponible dans GitHub Copilot dans Visual Studio !
![]()
Cette nouvelle fonctionnalité offre une transparence aux développeurs en les informant quand GitHub Suggestions de Copilot correspondre au code public. Vous pouvez maintenant voir le code correspondant, son fichier source et toutes les informations de licence associées, ce qui les aide à prendre des décisions plus éclairées lors du codage.
Le référencement de code vous permet de bloquer ou d’autoriser des suggestions contenant des correspondances de code public, améliorant ainsi le contrôle et la personnalisation.
En intégrant le référencement de code dans GitHub Copilot, nous encourageons le partage des connaissances, l'amélioration de la transparence et vous permet de créer en toute confiance. Que vous soyez développeur individuel ou membre d’une équipe plus grande, cette fonctionnalité améliore votre flux de travail et vous aide à naviguer facilement dans la complexité du code public.
Essayez GitHub Copilot dans Visual Studio aujourd’hui et prenez le contrôle de votre processus de développement avec plus de transparence et de confiance !
Important
Pour utiliser cette fonctionnalité, veillez à activer GitHub Copilot
Conversation guidée dans GitHub Copilot
Présentation d’un nouveau moyen conversationnel de discuter avec GitHub Copilot.
Nous présentons une nouvelle méthode conversationnelle pour interagir avec GitHub Copilot Chat !
exemple d’expérience de conversation guidée
Nous avons introduit un moyen plus interactif et conversationnel d'utiliser GitHub Copilot Chat. Maintenant, au lieu de vous sentir bloqué ou non sûr, GitHub Copilot vous guidera avec des questions claires lorsque le contexte n’est pas clair, garantissant ainsi des réponses plus précises et utiles.
Cette expérience de conversation guidée permet d’affiner vos requêtes, d’offrir des suggestions et de garantir des interactions plus douces et plus productives. Avec cette nouvelle modalité de conversation, vous profiterez d'un GitHub Copilot plus intelligent et plus intuitif qui s'adapte à vos besoins au fur et à mesure que vous codez.
Donnez à la nouvelle expérience de conversation guidée un essai aujourd’hui et voyez la différence pour vous-même !
Important
Pour utiliser cette fonctionnalité, veillez à activer GitHub Copilot
GitHub Copilot
Get a démarré plus rapidement dans GitHub Copilot Chat !
Vous avez besoin d’aide pour commencer à utiliser GitHub Copilot Chat ? Nous avons introduit deux nouvelles fonctionnalités d’intégration pour vous aider à commencer plus rapidement.
Invites de démarrage
Envoyez votre premier message à GitHub Copilot en cliquant sur l’une des invites de démarrage ! Utilisez ces invites pour voir quelles fonctionnalités GitHub Copilot devez vous offrir dans votre flux de travail.
![]()
Bibliothèque d’invites
Si vous devez référencer à nouveau certaines invites prédéfinies, cliquez sur le bouton bibliothèque d’invites (icône de livre) pour afficher la liste de toutes les invites disponibles. Cette bibliothèque contient des invites couramment utilisées, un simple clic !
![]()
Que vous explorez de nouvelles tâches de codage ou que vous recherchiez simplement de l'inspiration, nos invites sont ici pour vous aider à explorer et commencer à tirer le meilleur parti de GitHub Copilot Chat.
Donnez-lui un coup et voyez où il vous prend !
Important
Pour utiliser cette fonctionnalité, veillez à activer GitHub Copilot
.NET
Achieve plus avec .NET 9 📣
.NET 9 élève le développement d’applications cloud natives et intelligentes, en se concentrant sur les améliorations de productivité, les déploiements simplifiés et l’intégration accélérée de l’IA.
.NET 9 élève le développement d’applications cloud natives et intelligentes, en se concentrant sur les améliorations de productivité, les déploiements simplifiés et l’intégration accélérée de l’IA, ce qui offre des performances supérieures dans un large éventail d’applications. Avec une prise en charge complète de .NET 9 dans Visual Studio 17.12, vous pouvez facilement tirer parti de toutes les dernières améliorations. Pour plus d'informations sur les nouveautés, visitez Nouveautés de .NET 9.
![]()
En outre, vous trouverez des mises à jour des fonctionnalités autour de l'IDE qui facilitent l'utilisation de .NET et ASP.NET plus productives que jamais.
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Suppressing avertissements pour des avertissements GitHub spécifiques respectés dans Visual Studio
NuGet permet de supprimer des avertissements pour des avis de GitHub spécifiques et les supressions sont respectées dans Visual Studio.
NuGet Audit fournit des avertissements lorsqu’un package utilisé dans le projet présente une vulnérabilité connue. Il est toujours recommandé de procéder à une mise à niveau vers une nouvelle version du package, mais si la mise à niveau est impossible et que vous êtes certain que le logiciel n'est pas à risque, vous pouvez supprimer des avertissements pour des avis spécifiques GitHub en ajoutant
NuGetAuditSuppresséléments au fichier projet.<Project Sdk="Microsoft.NET.Sdk"> <ItemGroup> <NuGetAuditSuppress Include="https://github.com/advisories/GHA1234" /> </ItemGroup> </Project>
Possibilité de configurer nuget.org en tant que
source d’auditVous pouvez maintenant définir nuget.org en tant que source d’audit pour obtenir des informations sur les vulnérabilités même lors de l’utilisation d’autres flux NuGet.
NuGet Audit nécessite une source de package qui fournit une base de données de vulnérabilité. nuget.org fournit des informations sur les vulnérabilités de la base de données GitHub Advisories.
À partir de Visual Studio 17.12, il est désormais possible de spécifier des sources d'audit dans NuGet.Config, de sorte qu'il n'est plus nécessaire d'utiliser nuget.org en tant que source de package.
Si vous n’utilisez pas nuget.org en tant que source de package et que vous souhaitez utiliser NuGet Audit pour la création de rapports de packages vulnérables lors de la restauration, ajoutez ce qui suit à un fichier NuGet.Config dans votre répertoire de solution :
<confiuration> <!-- any existing config, including <packageSources> --> <auditSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" /> </auditSources> </configuration>
Débogage des diagnostics &
Blazor WebAssembly débogage 📣
histogramme du compteurAn a amélioré l’expérience de débogage pour les applications Blazor WebAssembly ciblant .NET 9 ou version ultérieure.
Visual Studio offre désormais une expérience de débogage améliorée pour les applications Blazor WebAssembly ciblant .NET 9 ou version ultérieure :
- Les types de données affichés dans le débogueur correspondent désormais aux types de données .NET attendus.
- Les membres de type et la visibilité des membres utilisent les icônes attendues.
- La pile des appels affichée est nettoyée pour afficher uniquement la pile des appels .NET et respecte correctement le paramètre Just My Code.
- La fenêtre modules est désormais prise en charge.
- La prise en charge de l’évaluation des expressions dans la fenêtre Exécution et pour les montres et les points d’arrêt conditionnels est développée et améliorée.
améliorations du débogage blazor
Pour activer la nouvelle expérience de débogage en préversion :
- Activez le paramètre Enable nouveau .NET 9+ débogueur Mono.
- Installez le kit SDK .NET 9 le plus récent.
- Mettez à jour votre application Blazor pour cibler .NET 9.
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
dans le
du profileurInsights améliorés sur les performances à l’aide de l’histogramme du compteur du profileur.
L'amélioration récente de la suite de profilage des performances de Visual Studio introduit la fonctionnalité d'histogramme du compteur. Cet outil vous permet d’identifier et d’analyser les données d’histogramme générées par les instruments d’histogramme. Lors de l’enregistrement de données à partir de ces instruments, les résultats de l’histogramme sont visualisés, fournissant une représentation claire de la distribution des données.
![]()
En outre, le graphique de couloir offre une vue détaillée et segmentée des métriques de performances, ce qui améliore votre capacité à identifier et à résoudre efficacement les problèmes de performances.
méthode Display retourne des valeurs 📣
Le débogueur affiche désormais des valeurs de retour inline avec une assistance IA pour améliorer l’efficacité.
Le débogueur Visual Studio affiche désormais des valeurs inline pour les instructions de retour, répondant à l’une des fonctionnalités les plus demandées de la communauté des développeurs.
Cette amélioration vous permet de voir les valeurs exactes retournées par les fonctions directement dans le code, ce qui élimine la nécessité d’un code supplémentaire ou de variables temporaires pour inspecter les valeurs de retour.
![]()
Avec GitHub Copilot, vous pouvez l’utiliser à l’aide de l’option Demander à Copilot sur le pointage pour analyser les valeurs de retour directement dans Visual Studio, ce qui vous permet de résoudre les problèmes immédiatement.
Il est pris en charge dans le code natif et managé.
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Exporter des groupes de points d’arrêt avec facilité 📣
Importation et exportation sans effort des groupes de points d’arrêt.
Visual Studio groupes de points d’arrêt prennent désormais en charge les fonctionnalités d’importation et d’exportation, ce qui vous permet de gérer et de gérer facilement vos structures de points d’arrêt dans plusieurs projets ou environnements.
d’importation
Cette nouvelle fonctionnalité vous permet d’exporter vos groupes de points d’arrêt avec leurs configurations et de les importer ultérieurement dans différentes solutions, ce qui garantit une configuration de débogage cohérente sans avoir à recréer manuellement les groupes de points d’arrêt.
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
IntelliSense pour le visualiseur IEnumerable 📣
visualiseur IEnumerable amélioré avec IntelliSense pour accélérer les requêtes LINQ.
Le visualiseur IEnumerable a été amélioré avec IntelliSense, fournissant des suggestions de code en temps réel et une autocomplétion, ce qui rend l’écriture d’expressions LINQ plus rapide et plus précise.
![]()
Cette amélioration simplifie le processus de création et de modification de requêtes en offrant des recommandations de code intelligent, en réduisant la probabilité d’erreurs et en accélérant le temps de développement.
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Analyser l’utilisation de la mémoire au fil du temps
Sélectionner et comparer deux instantanés de mémoire à l’aide de la fenêtre Outil diagnostics.
La fenêtre Outil diagnostics prend désormais en charge la comparaison des instantanés de mémoire, ce qui facilite l’analyse des modifications de mémoire au fil du temps.
Pour utiliser cette fonctionnalité, vérifiez que vous avez au moins deux instantanés de mémoire capturés sous l’onglet Mémoire dans la fenêtre Outil diagnostics.
Sélection d’instantanés pour la comparaison
- Maintenez la touche Ctrl enfoncée, puis cliquez sur les lignes d’instantanés pour sélectionner deux instantanés.
- Vous pouvez également conserver la touche Maj et utiliser les touches de direction
up/downpour sélectionner deux instantanés consécutifs.Désélection des instantanés
- Maintenez la touche Ctrl enfoncée, puis cliquez sur l’instantané que vous souhaitez désélectionner.
Affichage de la différence
Une fois que vous avez sélectionné les instantanés de mémoire pour la comparaison, cliquez sur le bouton Afficher la différence situé au-dessus de la liste d’instantanés pour afficher les différences entre eux.
![]()
Outils Git
Gérer le changement de nom de fichier avec Git 📣
n’oubliez pas quand vous renommez des fichiers avec une nouvelle notification.
Lorsque vous renommez des fichiers à partir de l’Explorateur de solutions, vous serez rappelé à l’étape de vos modifications pour voir les renommages dans Git. Cela améliore votre confiance que Git reconnaît la modification de votre fichier et le suivi correctement. Nous avons constaté qu’il s’agit d’un point de confusion pour de nombreux clients, donc nous avons travaillé avec des gens dans le Developer Community pour produire une nouvelle notification.
![]()
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Pull brouillons et modèles 📣
Create pull request drafts and start your descriptions with templates in Visual Studio.
Vous pouvez maintenant créer des brouillons de demande de tirage et démarrer vos descriptions avec des modèles GitHub dans Visual Studio. Il s’agissait des deux principales requêtes pour la création d’une expérience de demande de tirage.
Brouillon de demandes de tirage
Utilisez le menu déroulant du bouton Créer pour créer en tant que brouillon.
![]()
Modèles de demande de tirage
Votre modèle de demande de tirage par défaut est utilisé lors de la création d’une demande de tirage pour les GitHub et les Azure DevOps. Découvrez comment ajouter un modèle de demande de tirage à votre référentiel dans la documentation GitHub et Azure DevOps documentation.
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.Et prenez cette enquête pour vous aider à améliorer encore la fonctionnalité.
Créer les dépôts de GitHub internes 📣
Visual Studio prend désormais en charge la création de dépôts internes et inclut des conseils pour chaque type de référentiel pour vous donner plus de confiance lors du démarrage d’un nouveau projet.
Visual Studio prend désormais en charge les dépôts internes pour vos organisations GitHub. Nous avons également inclus des conseils pour chaque type de référentiel pour vous donner plus de clarté sur la visibilité du nouveau projet en fonction du compte que vous utilisez.
boîte de dialogue Nouveau référentiel
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Copy Git link 📣
Vous pouvez obtenir un lien GitHub ou Azure DevOps vers une ligne de code spécifique pour faciliter le partage avec vos collègues.
Chaque fois que vous partagez quelques lignes de code avec un collègue, il peut souvent être utile d’obtenir un contexte supplémentaire à partir de votre référentiel. Toutefois, s’ils travaillent sur quelque chose d’autre, cela peut prendre trop de temps et perturber leur travail pour extraire votre branche.
À présent, vous pouvez mettre en surbrillance le code que vous souhaitez partager dans votre éditeur, ouvrir le menu contextuel en cliquant avec le bouton droit, puis, sous le sous-menu Git, obtenir un lien partageable vers votre code dans GitHub ou Azure DevOps. Cela simplifie et facilite la collaboration, et facilite le flux entre l’IDE et vos dépôts distants sur le web.
![]()
Vous pouvez également obtenir des liens partageables directement à partir de l’historique de validation. Cela permet au code actuellement non extrait d’être référencé aussi facilement.
![]()
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Git multirépo support 📣
Vous pouvez désormais créer des demandes de tirage (pull requests) et lier des éléments de travail dans des scénarios multi-référentiels pour GitHub et Azure DevOps.
Vous pouvez maintenant créer des demandes de tirage (pull requests) et lier des éléments de travail dans des scénarios multi-référentiels. Pour les GitHub et les Azure DevOps, nous prenons en charge vos intégrations lorsque vous utilisez le sélecteur de référentiels pour vous concentrer sur un référentiel particulier dans vos scénarios multipo.
![]()
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Customize AI Git commit message 📣
Vous pouvez ajouter des instructions supplémentaires à l’invite de génération de votre message de validation Git avec GitHub Copilot.
Vous pouvez maintenant ajouter des instructions supplémentaires à l’invite de génération de votre message de validation Git avec GitHub Copilot. Cela vous permet de personnaliser le message de validation pour mieux répondre aux normes de votre flux de travail et de votre équipe. Vous pouvez spécifier le nombre de lignes à générer, la longueur des lignes et même fournir un exemple de style de validation. Modifiez le message dans le champ d’invite sous Tools > Options > GitHub > Copilot >.
de message Git
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
IDE
Multi-Project Launch Configuration 📣
Simplifiez le débogage en configurant et en enregistrant des profils de lancement pour des projets spécifiques dans des solutions multi-projets. Partagez facilement des configurations avec votre équipe.
La fonctionnalité De configuration de lancement multi-Project vous permet de configurer et d’enregistrer des profils pour lancer des projets spécifiques dans une solution multi-project dans des états prédéfinis pour le débogage.
![]()
Cela simplifie le processus d’utilisation de solutions complexes, améliore l’efficacité du débogage et facilite le partage des configurations entre les membres de l’équipe.
📣 See feature ticket pour partager vos commentaires et poursuivre la conversation.
Remarque
Cette fonctionnalité doit être activée sous outils -> Gérer les fonctionnalités en préversion
avertissements de sécurité MotW
Marquer des avertissements de sécurité web (MotW) sont désormais intégrés à la fonctionnalité d’approbation globale.
Visual Studio affiche un avertissement de sécurité lorsqu'il détecte que vous tentez d'ouvrir le contenu marqué avec l'identificateur Mark of the Web (MotW).
Ce nouvel avertissement lié à l’approbation transmet les risques d’ouverture de contenu à partir de sources potentiellement dangereuses telles que les téléchargements Internet.
boîte de dialogue
Vous pouvez modifier l’expérience d’approbation par défaut en accédant au paramètres d’approbation sous Outils > Options > Environnement.
![]()
Nouveaux modèles IA du Kit de ressources Teams
Le Kit de ressources Teams intègre de nouveaux modèles d’application Teams IA.
Teams Toolkit ajoute trois nouveaux modèles d’application Teams AI :
Elles sont les suivantes :
![]()
Basic AI Chat Bot : vos propres copilotes dans Microsoft Teams créées avec Teams AI Library
Chat With Your Data - modèle de chatbot intelligent avec des connaissances de domaine à partir d’une source de données personnalisée.
Teams Toolkit vous permet désormais de créer un Copilot personnalisé, qui est un chatbot alimenté par l’IA avec une fonctionnalité RAG capable de comprendre le langage naturel et de récupérer des données de domaine pour répondre à des questions spécifiques au domaine. Ce modèle prend en charge l’accès à vos données personnalisées dans un application Copilot personnalisé.
Lorsque vous sélectionnez ce modèle, vous pouvez sélectionner deux façons de vous connecter à vos données :
un. Recherche Azure AI : votre chatbot peut accéder aux données sur Azure AI search service et l’utiliser dans la conversation avec les utilisateurs.
b. Source de donnéesCustom : vous pouvez ajouter la source de données que vous souhaitez application Copilot personnalisée, par exemple le système de fichiers ou la base de données vectorielle.
l’agent IA - un agent IA dans Teams qui peut prendre des décisions et effectuer des actions basées sur le raisonnement LLM.
Essayez les nouveaux modèles d’application IA pour démarrer votre parcours IA dans Teams !
Copy entre les instances 📣
Vous pouvez désormais copier des fichiers et des dossiers de Explorateur de solutions dans une instance de Visual Studio vers un autre.
Nous sommes ravis d’introduire une fonctionnalité très demandée dans Visual Studio ! Vous pouvez désormais copier et coller en toute transparence des fichiers et dossiers de code entre différentes instances de Visual Studio à l’aide du Explorateur de solutions. Sélectionnez simplement le fichier ou le dossier souhaité, utilisez Ctrl+C ou Ctrl+X, basculez vers une autre instance Visual Studio et utilisez Ctrl+V pour inclure ces fichiers ou dossiers dans vos nouveaux dossiers Solution. Toutes les modifications seront reflétées avec précision dans le système de fichiers.
En plus de copier et coller, vous pouvez également faire glisser les fichiers et dossiers d’une instance de Visual Studio vers une autre.
fichiers
Auparavant, cette fonctionnalité n’était disponible que pour quelques types de projets, mais nous l’avons maintenant développée pour inclure tous les principaux types de projets dans Visual Studio.
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Nuage
Azure App Service publier des mises à jour de sécurité
Publishing pour Azure App Service en toute sécurité à l’aide des mises à jour de sécurité intégrées.
Azure App Service guide de publication de publier conseille aux clients de désactiver l'authentification de base et d'activer la publication via l'authentification intégrée.
![]()
La nouvelle fonctionnalité de Visual Studio 2022 désactive l’authentification de base et active la sécurité intégrée pour la publication sur Azure App Service. Cela garantit que la publication des informations d’identification est gérée en toute sécurité, ce qui réduit les risques associés à l’authentification de base.
Lors de la publication sur un Azure App Service sur lequel l’authentification de base est activée (qui est not recommandé), les utilisateurs voient l’option Turn on Basic Authentication et elle est désactivée par défaut. Les clients qui doivent conserver l’authentification de base peuvent cocher la case, mais étant donné la recommandation de désactiver l’authentification de base, cette option est désactivée par défaut. Vous start secure si c’est la première fois que vous publiez ou, get secure une fois que vous passez au processus de publication après la mise à jour Visual Studio.
![]()
Si vous avez créé l'application web récemment via le portail ou cette version ultérieure de Visual Studio, l'authentification de base est désactivée par défaut. Pour toute application web déjà désactivée par l’authentification de base, nous contournons par inadvertance l’application web moins sécurisée en désactivant complètement la case à cocher, de sorte que vous restez sécurisé.
![]()
Azure prise en charge de WebJobs Linux 📣
Publishing sur Azure WebJobs sur Linux est désormais pris en charge par un clic droit sur publier dans Visual Studio.
Les applications console multiplateformes .NET 5.0+ sont prises en charge sur Azure WebJobs Linux. Vous pouvez également cliquer avec le bouton droit sur publier votre code sur Azure WebJobs sur Linux à partir de Visual Studio.
boîte de dialogue Publier
cible Linux
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Azure Functions Flex Consumption
Publish vers Azure plan d’hébergement Flex Consumption, actuellement disponible en préversion.
Si vous essayez le nouveau plan d'hébergement Azure Functions Flex Consumption, actuellement en préversion, vous pouvez cliquer avec le bouton droit sur Publier sur Flex à partir de Visual Studio.
Flex Consumption étendra davantage les fonctionnalités de vos applications et vous fournira les éléments suivants :
- intégration Réseau virtuel sans frais supplémentaires
- Mise à l’échelle rapide et prévisible avec choix de taille d’instance et par contrôle d’accès concurrentiel d’instance
- Serverless avec mise à l’échelle à zéro et vous payez uniquement pour les instances pendant qu’elles sont actives
- Atténuation du démarrage à froid avec la fonctionnalité facultative d’instances Always Ready
En savoir plus sur Flex Consumption dans le billet de blog announcement ou documentation et essayez l’un de nos samples.
![]()
mise à jour de sécurité des services connectés
Rendre vos applications et vos expériences de développement plus sécurisées.
Dans cette mise à jour des services connectés, vous pouvez maintenant connecter votre code de projet à Azure ressources, comme stockage Azure, sans avoir besoin de secrets ou de chaînes de connexion dans votre code ou configuration.
À présent, vous donnerez un nom à votre connexion, les points de terminaison sont conservés dans la configuration au lieu de la chaîne de connexion complète. Cela signifie que moins de secrets sur le disque, votre temps de développement sera plus sécurisé par défaut et subira moins d’erreurs lors de la validation des secrets dans le contrôle de code source.
![]()
Nous utilisons également la dernière SDK Azure. Vous bénéficiez donc de la prise en charge de la connexion à vos ressources Azure à l'aide de votre connexion Visual Studio (ou Azure CLI) au lieu de vous connecter via un chaîne de connexion. Lors de l’exécution locale, votre code utilise vos informations d’identification connectées pour accéder aux ressources. Lors de l’exécution dans Azure, le Kit de développement logiciel (SDK) Azure utilise l’identité managée du service d’application pour accéder aux ressources.
Les services connectés le configurent pour vous et injectent le code approprié pour utiliser l’identité intégrée au lieu des secrets. Lors de la publication, votre application est configurée avec l’identité et les rôles appropriés requis pour accéder aux ressources.
Bureau
Improved MSIX tooling for UWP apps on .NET 9 📣
Visual Studio fait désormais référence aux nouveaux outils MSIX de projet autonome pour empaqueter des applications UWP sur .NET 9.
In the initial preview of UWP support for .NET 9, we s’appuie sur WindowsAppSDK pour fournir les outils MSIX pour empaqueter des applications à l’aide de la configuration de projet unique (par opposition à l’utilisation d’un projet d’empaquetage d’applications Windows, c’est-à-dire un fichier .wapproj). Cela a introduit plusieurs problèmes, le principal étant que la dépendance transitive WebView2 de WindowsAppSDK a été automatiquement ajoutée à toutes les applications UWP, même si ce n’est pas nécessaire.
Nous avons maintenant entièrement découplé l’outil MSIX du projet unique et l’avons publié en tant que nouveau package NuGet autonome : Microsoft.Windows. SDK. BuildTools.MSIX. Cela inclut tout ce qui est nécessaire pour générer, déployer et exécuter des applications UWP sur .NET 9, ainsi que pour générer des packages MSIX à publier dans le Microsoft Store ou le chargement indépendant. L’outil UWP sur .NET 9 dans Visual Studio ajoute automatiquement ces deux références de package si nécessaire :
outils MSIX
Cette opération supprime entièrement la dépendance transitive WebView2 et l’erreur de génération qui était présente pour les nouveaux projets dans les versions préliminaires précédentes quand vous ne définissez pas manuellement la propriété WindowsSdkPackageVersion dans le fichier .csproj. Avec cette modification, de nouveaux projets vont simplement générer et s’exécuter sans avoir besoin de modifications supplémentaires !
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Enhanced WinUI components search
Configuration du projet WinUIEnhance avec une recherche améliorée Visual Studio Programme d’installation, ce qui simplifie l’emplacement des composants pour les développeurs.
Simplifiez la configuration de votre projet WinUI avec notre dernière mise à jour du programme d’installation de Visual Studio ! Les développeurs peuvent désormais localiser rapidement les composants winUI, ce qui élimine la frustration précédente de naviguer dans un résultat de recherche vide. Cette amélioration simplifie la configuration de l’environnement de développement, ce qui permet une expérience utilisateur plus intuitive et efficace.
image
Ouvrez le programme d’installation Visual Studio, accédez à composantsindividuals et recherchez les mots clés liés à WinUI (WinUI, WinRT) !
.NET 9 prise en charge du SDK UWP 📣
Visual Studio inclut désormais le Kit de développement logiciel (SDK) .NET 9 avec prise en charge UWP prête à l’emploi.
L’une des étapes nécessaires pour essayer UWP sur .NET 9 dans la préversion initiale a été d’installer une build nocturne du SDK .NET 9. Avec cette nouvelle version de Visual Studio, cela n’est plus nécessaire.
Visual Studio inclut désormais le KIT SDK .NET 9, qui offre toute la nouvelle prise en charge de UWP sur .NET 9 (plus précisément, la logique permettant de référencer les projections XAML UWP et de configurer CsWinRT pour les types de projets pour les applications XAML UWP). Vous pouvez maintenant générer et exécuter UWP sur des projets .NET 9 avec le SDK .NET installé automatiquement avec Visual Studio.
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Simplified .csproj pour UWP 📣
UseUwpTools est désormais défini automatiquement par Visual Studio pour les projets UWP modernes sur .NET 9.
Les applications et bibliothèques UWP utilisant .NET 9 utilisées pour exiger deux propriétés dans leurs fichiers .csproj :
UseUwp, qui configure le SDK .NET pour les applications XAML UWP etUseUwpTools, ce qui permet à tous les nouveaux outils de Visual Studio de générer et d’exécuter des applications XAML UWP.La propriété
UseUwpToolsest désormais automatiquement définie par Visual Studio lorsqueUseUwpest défini, pour rendre le fichier .csproj moins détaillé dans le scénario courant. Pour les scénarios avancés, il est toujours possible de désactiver manuellementUseUwpTools.📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
RIDs pour UWP dans .NET 9 📣
UWP sur .NET 9 bibliothèques de classes définissent correctement les RID sur les valeurs appropriées pour Native AOT.
Nous avons résolu un bogue dans les outils APPX pour les bibliothèques de classes UWP (et les composants WinRT) sur .NET 9, qui appliquait les identificateurs d’exécution de UWP sur .NET Native par défaut (c’est-à-dire en utilisant le préfixe
win10-, et y compris les plateformes qui ne sont plus prises en charge, telles que arm).Les outils APPX définissent désormais les ID appropriés pour les projets .NET 9 par défaut :
win-x86;win-x64;win-arm64. Il est toujours possible de spécifier manuellement ces éléments, si vous le souhaitez.📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
UWP project creation fixed 📣
Nous avons résolu l’Assistant Modèle universel qui n’affichait plus de boîte de dialogue d’erreur lors de la création d’UWP sur .NET 9 projets.
Si vous utilisez le preview VSIX avec les nouveaux modèles de projet pour UWP sur .NET 9, vous avez peut-être remarqué qu'une boîte de dialogue d'erreur s'affichait correctement lors de la création d'un projet. Cela était particulièrement problématique lors de la création d’une solution, car Visual Studio ne l’ouvrirait pas correctement après la création du projet. Ce problème a été résolu et la création de projets ciblant UWP sur .NET 9 fonctionne désormais correctement.
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Le Web
variables de requêtedans les fichiers HTTP 📣
Les fichiers HTTP prennent désormais en charge les variables de requête. C’est là que vous pouvez envoyer une demande, puis utiliser des données de la réponse ou de la demande, dans les futures demandes.
Lorsque vous utilisez fichiers HTTP, un scénario courant appelle un point de terminaison, en prenant une valeur de la réponse et en envoyant une requête ultérieure. Par exemple, vous pouvez appeler un point de terminaison pour authentifier un utilisateur, puis sur les appels ultérieurs, vous pouvez transmettre le jeton retourné à partir du point de terminaison de connexion. Avant cette version, cette version n’était pas possible dans Visual Studio. Dans l’extrait de code ci-dessous, vous pouvez voir un exemple de fonctionnement dans un fichier HTTP.
# @name login POST {{TodoApi_HostAddress}}/users/token Content-Type: application/json { "username": "{{myusername}}", "password": "{{mypassword}}" } ### GET {{TodoApi_HostAddress}}/todos Authorization: Bearer {{login.response.body.$.token}} ###Dans l’extrait de code ci-dessus, il existe deux requêtes, la première appel au point de terminaison
/users/tokenpour authentifier l’utilisateur. Immédiatement au-dessus de la ligne de requête, vous verrez le commentaire# @name login. Cette syntaxe donne un nom à la demande (logindans ce cas) et la configure en tant que variable de requête. Lorsque la requête est envoyée, vous pouvez accéder aux valeurs à partir de la réponse ou de la demande, dans toute requête ultérieure envoyée à partir de ce fichier HTTP. Étant donné qu’il s’agit d’une demande de connexion, veillez à sécuriser vos secrets. Dans Visual Studio nous avons pris en charge l’accès aux secrets de manière sécurisée. Consultez cette section sur la documentation pour plus d’informations sur la gestion des secrets.La deuxième demande appelle un point de terminaison authentifié,
/todos, qui retourne les élémentstodopour cet utilisateur. Dans la requête, le jeton est transmis en tant qu’en-tête avec la ligne.Authorization: Bearer {{login.response.body.$.token}}Le point de terminaison
/users/tokenretourne une réponse au format JSON. Le jeton est extrait avec une expression JSON Path,$.token, dans le corps de la réponse. Si vous utilisez un point de terminaison qui retourne du code XML, au lieu d’une expression JSON Path, vous pouvez passer une expression XPath. La prise en charge de Visual Studio a été inspirée par l’extension OSS existante pour REST Client disponible pour Visual Studio Code. Vous pouvez en savoir plus sur les variables de requête. Nous allons bientôt ajouter de la documentation pour discuter de ce support plus en détail.📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
prise en charge de Vitest dans JavaScript et TypeScript 📣
Lorsque vous utilisez des projets JavaScript et TypeScript, vous pouvez désormais créer des cas de test avec Vitest.
Dans les projets JavaScript et TypeScript (JSTS), les projets qui ont l’extension .esproj, nous avons ajouté la prise en charge de la découverte et de l’exécution de tests créés avec Vitest. Pour commencer à utiliser les tests Vitest, dans un projet JSTS, ajoutez le package vitest à l’aide de npm dans le Explorateur de solutions, puis modifiez le fichier projet pour que les propriétés suivantes aient été déclarées.
<JavaScriptTestRoot>test\</JavaScriptTestRoot> <JavaScriptTestFramework>Vitest</JavaScriptTestFramework>Vérifiez que la valeur de
JavaScriptTestRoota le chemin d’accès relatif correct à l’emplacement de vos fichiers de test.Ajoutez vos tests au dossier approprié et générez le projet/la solution. Après cela, vous devez voir les cas de test dans l’Explorateur de tests.
![]()
Dans l’Explorateur de tests, vous pouvez voir les différents cas de test découverts et exécuter les cas de test.
Nous n’avons pas encore ajouté de prise en charge pour le débogage, mais nous ajouterons bientôt cette prise en charge. Un autre problème connu est que lorsque vous double-cliquez sur un cas de test dans l’Explorateur de tests, vous accédez à la première ligne du fichier où le cas de test est défini. Nous améliorerons également cette expérience.
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Inlay Hints for more languages 📣
La prise en charge de l’indicateurInlay a été ajoutée à JavaScript, TypeScript, Python et Razor, ainsi qu’un paramètre pour contrôler son comportement.
Les indicateurs de superposition affichent des informations supplémentaires sur le code source rendu inline. Cela est généralement utilisé pour afficher des types déduits, des noms de paramètres et d’autres informations implicites de votre code directement dans votre éditeur.
Nous avons ajouté la prise en charge de l’affichage des indicateurs de superposition en JavaScript, TypeScript, Razor et Python. Nous avons également ajouté un nouveau paramètre pour vous permettre de personnaliser le comportement des indicateurs dans ces langues. Ce paramètre ne s’applique pas encore à C# et C++. Pour activer les indicateurs de superposition pour ces langues, vous pouvez utiliser le nouveau paramètre dans Tools > Options > Éditeur de texte > Toutes les langues > indicateurs de superposition. Vous pouvez voir la nouvelle option dans l’image suivante.
![]()
Il existe trois valeurs différentes pour les indicateurs de superposition.
- Always : Toujours afficher les indicateurs de superposition.
- Lorsque vous appuyez sur Alt+F1: affiche uniquement les indicateurs de superposition, tandis que Alt et F1 sont enfoncés. Il s’agit de la valeur par défaut.
- Jamais : indicateurs de superposition ne sont jamais affichés.
Pour JavaScript et TypeScript, il existe une page d’options supplémentaires pour configurer le comportement des indicateurs inlay. Vous trouverez cette option dans Tools > Options > Éditeur de texte > JavaScript/TypeScript >> Général.
Ces options sont affichées dans l’image qui suit.
![]()
Par défaut, toutes ces options sont désactivées, vous devez activer les indicateurs qui vous intéressent pour l’affichage des fichiers JavaScript et TypeScript. Dans une prochaine mise à jour, nous pouvons modifier les valeurs par défaut de ces options. Dans l’image ci-dessous, vous pouvez voir un fichier JavaScript qui affiche des indicateurs de superposition.
![]()
Dans l’image précédente, les indicateurs de superposition affichés sont les zones grises avec
: numberpour indiquer le type de la variable.📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
environnement partagé de fichiers HTTP 📣
Dans les fichiers d’environnement HTTP, nous avons ajouté la prise en charge du partage de variables entre les environnements.
Lorsque vous utilisez des fichiers HTTP dans Visual Studio vous pouvez définir environments afin de pouvoir créer différents paramètres pour les tests d’API. Auparavant, le partage d’une variable entre ces environnements n’était pas possible. Nous avons ajouté la prise en charge d’une nouvelle entrée,
$shared, dans le fichier d’environnement qui vous permet de définir des valeurs par défaut pour les variables disponibles dans tous les environnements.Par exemple, considérez le fichier d’environnement (http-client.env.json) ci-dessous.
{ "$shared": { "HostAddress": "https://localhost:7293" }, "dev": { "username": "sayedha" }, "dev2": { "username": "madsk" }, "staging": { "username": "staginuser", "HostAddress": "https://sayedrest.example.com" } }Nous avons défini les valeurs partagées dans
$sharedci-dessus, qui se compose de la variableHostAddressdéfinie surlocalhost:7293.Parmi les trois environnements définis, aucun environnement de développement n’a spécifié la valeur de
HostAddress, mais la préproduction a une valeur pour celle-ci.Lorsque vous utilisez l’environnement
devoudev2, la valeur deHostAddressprovient de$shared, car ces environnements n’ont pas de valeur pourHostAddress. Lors de l’utilisation de l’environnement intermédiaire, la valeur deHostAddressest définie surhttps://sayedrest.example.com.📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
Données
projets SQL de styleSDK dans SSDT 📣
Vous pouvez maintenant utiliser le format de fichier projet de style SDK dans votre fichier projet SQL Server Data Tools projects.
Cette mise à jour ajoute des projets SQL basés sur le Microsoft. Le SDK Build.Sql, qui apporte une prise en charge multiplateforme et des références de package améliorées aux projets SQL Server Data Tools (SSDT). Avec des fichiers projet et des références de base de données moins détaillés aux packages NuGet, les équipes peuvent collaborer plus efficacement sur des bases de données volumineuses dans un seul projet ou compiler plusieurs ensembles d’objets à partir de plusieurs projets.
![]()
Déploiements de base de données à partir d’un Microsoft. Le projet Build.Sql peut être automatisé dans des environnements Windows et Linux où le Microsoft. L’outil Dotnet SqlPackage publie l’artefact de build (.dacpac) à partir du projet SQL. En savoir plus sur la préversion des projets SQL de style SDK et devOps pour SQL.
Le Microsoft. Le SDK de projet Build.Sql est open source et développé sur GitHub.
Veillez à installer le dernier composant SSDT preview dans le programme d’installation Visual Studio pour utiliser les projets SQL de style SDK dans votre solution.
![]()
📣 Consultez ticket de fonctionnalité pour partager vos commentaires et poursuivre la conversation.
C++
définir des arguments de ligne de commande C++
Une nouvelle façon de définir vos arguments de ligne de commande directement à partir de la barre d’outils.
Définissez rapidement vos arguments de ligne de commande pour votre projet C++ avec la nouvelle Définir des arguments élément de barre d’outils. Cette zone de liste modifiable vous permet de définir vos arguments de ligne de commande directement à partir de la barre d’outils. Vous pouvez donc modifier rapidement vos arguments. Lorsque vous exécutez votre projet, tous les arguments entrés dans la zone sont passés.
Ce composant de barre d’outils s’affiche par défaut si vous avez développement de jeux avec la charge de travail C++ installée. Si vous ne le voyez pas, vous pouvez l’ajouter en cliquant avec le bouton droit sur la barre d’outils et en sélectionnant Définir des arguments.
Remarque : Cette fonctionnalité est actuellement disponible pour les projets Unreal Engine uniquement. Les projets C++ généraux seront pris en charge dans les prochaines versions.
![]()
vue Build Insights
Découvrez comment utiliser chaque onglet de Build Insights via un lien nouvellement ajouté à la documentation.
Vous pouvez maintenant voir une brève description sur la façon dont chaque onglet de Build Insights peut être utilisé, ainsi qu’un lien vers la documentation pour obtenir une explication détaillée.
![]()
ajustements de chemin Build Insights
Obtenir une vue plus claire de votre fichier dans Build Insights, voir le chemin complet sur le pointage.
Nous avons masqué des chemins complets et relatifs pour réduire l’encombrement. Pour afficher les chemins complets, pointez simplement sur le fichier. Vous verrez également une nouvelle colonne nom de fichier pour les fichiers et unités de traduction, affichée par défaut pour vous aider à identifier rapidement les fichiers sans analyser de longs chemins d’accès.
![]()
Ouvrir le dossier pour le
uproject d’unreal EngineUne nouvelle façon d’ouvrir votre projet uproject.
Nous avons ajouté un point d'entrée supplémentaire pour ouvrir votre projet uproject Unreal Engine avec la prise en charge des uprojects de Visual Studio. Vous pouvez maintenant ouvrir votre uproject directement à partir du menu File en sélectionnant Open > Projet Unreal Engine... . Cela ouvre votre projet Unreal Engine dans Visual Studio.
Pour plus d’informations sur l’utilisation de cette fonctionnalité, consultez Directly Editing .uproject in Visual Studio.
![]()
amélioration de la signature de modification
Vous pouvez maintenant modifier les signatures avec notre interface C++ améliorée.
Nous avons mis à jour l’interface Change Signature pour C++. Vous pouvez maintenant ajouter, supprimer et réorganiser des paramètres dans la section configuration des paramètres. En outre, vous pouvez modifier leur ordre en les sélectionnant et en les faisant glisser vers une nouvelle position.
Les méthodes d’accès restent les mêmes : appuyez sur Ctrl+. pour déclencher le menu Actions rapides et refactorisations, puis sélectionner Modifier la signature.
de signature de modification
Principaux correctifs de bogues signalés par l’utilisateur
- l’éditeur C# ne peut pas trouver de contrôles définis dans le fichier xaml
- commande GIT (synchronisation, extraction, push) et liste de branches manquantes dans la barre d’état
- VSSDK/CPS/Extensibilité : le chargement d’images dans les extensions VS via .imagemanifest est rompu dans VS2022
- Retour arrière, etc. arrêtent parfois de travailler
- Resource Explorer ne peut pas ouvrir les fichiers resx
- Réinitialiser tous les paramètres entraîne toujours une erreur
- VS2022 17.10.0 Preview 7 : erreur du compilateur interne
- fichiers Javascript perdent le codage des couleurs après 1 000 lignes de code
- Utilisation de std ::format dans un module nécessite d’inclure l’en-tête de format dans .cpp fichiers à l’aide de ce module
- erreur de syntaxe C++ après la mise à niveau vers Visual Studio 17.11.0
- impossible de déplacer un bloc de code vers le haut et vers le bas après la mise à jour vs
- génération de cache CMake sur un hôte Linux distant échoue sur une requête ctest
- Error dans les pipelines Azure DevOps avec VSTest@2
- Impossible d’ajouter un compte Apple (VS 2022, Compte Entreprise)
📣 Consultez la liste complète de tous les correctifs de bogues signalés par l’utilisateur [correctifs de bogues][correctifs de bogues] qui l’ont rendu dans cette version.
Problèmes connus
- L’erreur « Échec de l’exportation du certificat » se produit lors de la tentative de débogage d’un projet web ASP.NET Core avec HTTPS activé et à l’aide du profil de débogage WSL. Cela se produit en raison de changement cassant : l’exportation de certificat de développement ne crée plus de dossier.
Vous pouvez contourner ce problème en créant le dossier
%appdata%\ASP.NET\Httpsavant le débogage.
Version 17.12.19
Publication :14 avril 2026
| Correctifs de bogues principaux | De la communauté |
|---|---|
| Mettre à jour Node.js version pour VS2022 | ticket de commentaires |
| Conseils de sécurité traités | CVE | Description |
|---|---|---|
| vulnérabilité de déni de service .NET | CVE-2026-26171 | Une vulnérabilité existe dans la classe EncryptedXml où la consommation de ressources non contrôlée peut donner à un attaquant la possibilité d’effectuer une attaque par déni de service. |
| vulnérabilité d’usurpation d’identité .NET | CVE-2026-32178 | Une neutralisation incorrecte des éléments spéciaux dans .NET permet à un attaquant non autorisé d’effectuer l’usurpation sur un réseau. |
| Vulnérabilité d’altération de la mémoire SQLite | CVE-2025-6965 | Il existe une vulnérabilité dans les versions SQLite antérieures à la version 3.50.2, où le nombre de termes agrégés peut dépasser le nombre de colonnes disponibles. Cela peut entraîner un problème d’altération de la mémoire. |
| vulnérabilité Node.js TLS DoS | CVE-2026-21637 | Une faille dans Node.js gestion des erreurs TLS permet aux attaquants distants de se bloquer ou d’épuiser les ressources d’un serveur TLS quand pskCallback ou ALPNCallback sont en cours d’utilisation. |
| vulnérabilité de divulgation d’informations Visual Studio | CVE-2026-32631 | Une vulnérabilité de divulgation d’informations existe dans MinGit en raison d’une fuite de hachage NTLM vers un serveur non approuvé. |
Version 17.12.18
Publication :10 mars 2026
| Conseils de sécurité traités | CVE | Déscritpion |
|---|---|---|
| vulnérabilité de déni de service .NET | CVE-2026-26130 | Une vulnérabilité de déni de service existe dans ASP.NET Core en raison d’une consommation de ressources non contrôlée. |
| vulnérabilité d’élévation de privilèges .NET | CVE-2026-26131 | Une vulnérabilité d’élévation de privilèges existe dans .NET en raison d’une autorisation incorrecte. |
| vulnérabilité de divulgation d’informations Visual Studio | CVE-2025-66413 | Une vulnérabilité de divulgation d’informations existe dans MinGit en raison d’une fuite de hachage NTLM vers un serveur non approuvé. |
Version 17.12.17
Publication :10 février 2026
| Conseils de sécurité traités | CVE | Déscritpion |
|---|---|---|
| Vulnérabilité de contournement des fonctionnalités de sécurité .NET | CVE-2026-21218 | Cette mise à jour de sécurité résout une vulnérabilité où une gestion incorrecte d’un élément spécial manquant dans .NET et Visual Studio permet à un attaquant autorisé d’effectuer l’usurpation sur un réseau. |
Version 17.12.16
Publication :13 janvier 2026
| Correctifs de bogues principaux | De la communauté |
|---|---|
| GitHub Copilot : échec d’authentification lors de l’utilisation du modèle automatique | ticket Feedback |
Version 17.12.15
Publication : 9décembre 2025
| Correctifs de bogues principaux | De la communauté |
|---|---|
| Impossible de lancer Visual Studio 2022 LTSC 17.12 | ticket de commentaires |
| Marqué le composant Windows 10 SDK (version 10.0.19041.0) comme non pris en charge dans le programme d’installation de Visual Studio. |
Version 17.12.14
Publication :11 novembre 2025
| Correctifs de bogues principaux | De la communauté |
|---|---|
| Les nouvelles mises à jour Visual Studio 2022 incluent la bibliothèque LibCurl qui interrompt Git | ticket de commentaires |
Version 17.12.13
Publication :14 octobre 2025
| Correctifs de bogues principaux | De la communauté |
|---|---|
| Nuget Gestionnaire de package pour Project -> Se connecter au courrier indésirable | ticket Feedback |
| Mise à jour de MinGit vers la version 2.50.1 pour résoudre un problème où les utilisateurs disposant de référentiels situés sur des volumes ReFS et Windows Server 2022 n'ont pas pu effectuer d'opérations Git avec l'IDE VS. | ticket de commentaires |
| Conseils de sécurité traités | CVE | Déscritpion |
|---|---|---|
| vulnérabilité d’exécution de code à distance Visual Studio | CVE-2025-55240 | Cette mise à jour de sécurité traite d’une vulnérabilité d’exécution de code à distance du chemin de recherche non approuvé dans Gulpfile |
| Vulnérabilité de contournement des fonctionnalités de sécurité .NET | CVE-2025-55315 | Cette mise à jour de sécurité traite une vulnérabilité de contrebande de requêtes HTTP en raison d’une analyse incorrecte de l’extension de bloc |
| vulnérabilité de divulgation d’informations .NET | CVE-2025-55248 | Cette mise à jour de sécurité résout une vulnérabilité dans laquelle SmtpClient peut se connecter sans TLS même si UseSsl a la valeur true |
Version 17.12.12
Publication: 9 septembre 2025
| Correctifs de bogues principaux | De la communauté |
|---|---|
| .NET runtime est mis à jour vers 8.0.20 et 9.0.9, et .NET SDK vers 9.0.110 |
Version 17.12.11
Publication :12 août 2025
| Correctifs de bogues principaux | De la communauté |
|---|---|
| Les versions Windows SDK suivantes ont été supprimées du programme d’installation Visual Studio 2022 : 10.0.18362.0, 10.0.20348.0 et 10.0.22000.0. Si vous avez déjà installé l’une de ces versions du Kit de développement logiciel (SDK) à l’aide de Visual Studio elle sera désinstallée lors de la mise à jour. Si votre projet cible l’un de ces kits SDK, vous pouvez rencontrer une erreur de génération telle que : The Windows SDK version 10.0.22000.0 est introuvable. Installez la version requise de Windows SDK ou modifiez la version du Kit de développement logiciel (SDK) dans les pages de propriétés du projet, ou en cliquant avec le bouton droit sur la solution et en sélectionnant « Solution de reciblage ». Pour résoudre ce problème, nous vous recommandons de reciblager votre projet sur 10.0.0.26100.0 ou une version prise en charge antérieure si nécessaire. Pour obtenir la liste complète des versions du SDK prises en charge, consultez : https://developer.microsoft.com/windows/downloads/sdk-archive/. Si vous devez installer une version non prise en charge du Kit de développement logiciel (SDK), vous pouvez la trouver ici : https://developer.microsoft.com/windows/downloads/sdk-archive/index-legacy/. |
Version 17.12.10
Publication: 8 juillet 2025
| Conseils de sécurité traités | CVE | Déscritpion |
|---|---|---|
| Visual Studio - Élévation de privilège | CVE-2025-49739 | La vérification du délai d’utilisation dans le service Collecteur Standard permet l’escalade des privilèges locaux |
| Vulnérabilité des arguments Gitk | CVE-2025-27613 | Vulnérabilité des arguments Gitk |
| Vulnérabilité d’exécution du code Gitk Abitryary | CVE-2025-27614 | Vulnérabilité d’exécution du code Gitk Abitryary |
| Vulnérabilité De l’interpréteur de commandes malveillante Git | CVE-2025-46334 | Vulnérabilité De l’interpréteur de commandes malveillante Git |
| Vulnérabilité de remplacement de fichier Git | CVE-2025-46835 | Vulnérabilité de remplacement de fichier Git |
| Vulnérabilité Git Symlink | CVE-2025-48384 | Vulnérabilité Git Symlink |
| Vulnérabilité d’injection de protocole Git | CVE-2025-48385 | Vulnérabilité d’injection de protocole Git |
| Vulnérabilité de l’assistance sur les informations d’identification Git | CVE-2025-48386 | Vulnérabilité de l’assistance sur les informations d’identification Git |
Version 17.12.9
Publication :10 juin 2025
| Correctifs de bogues principaux | De la communauté |
|---|---|
| La couverture de l’assainissement produit un codegen incorrect | ticket de commentaires |
| Codegen incorrect lors de l’enregistrement de données dans un std ::array | ticket de commentaires |
| Échec d’interception atol_static ASAN | ticket de commentaires |
| Mise à jour du programme d’installation de VS pour inclure les dernières versions de maintenance pour Windows SDK versions 10.0.19041.0 et 10.0.22621.0. |
| Conseils de sécurité traités | CVE | Déscritpion |
|---|---|---|
| vulnérabilité d’exécution de code à distance Visual Studio | CVE-2025-47959 | Une neutralisation incorrecte des éléments spéciaux utilisés dans une commande ('injection de commandes') dans Visual Studio permet à un attaquant autorisé d'exécuter du code sur un réseau. |
| vulnérabilité d’exécution de code à distance .NET et Visual Studio | CVE-2025-30399 | Le chemin de recherche non approuvé dans .NET et Visual Studio permet à un attaquant non autorisé d’exécuter du code sur un réseau. |
Version 17.12.8
Publication :13 mai 2025
| Correctifs de bogues principaux | De la communauté |
|---|---|
| Une mise à jour récente de Visual Studio provoque un blocage d’une application qui a fonctionné correctement lorsqu’elle a été créée avec les versions précédentes de VS. | ticket de commentaires |
| Correction d’un problème dans la stratégie de vérification TFVC de l’élément de travail de requête moderne qui empêchait la récupération du nom du projet. En outre, correction d’un problème dans la stratégie d’archivage TFVC des modèles interdits qui entraînait l'« oubli » des modèles par la stratégie après sa création. | ticket de commentaires |
| L’assainissement des adresses dans la version peut introduire des bogues | ticket de commentaires |
| Génération de code incorrecte avec /arch :SSE4.2 (génère des insertions incorrectes immédiatement) | ticket de commentaires |
| Correction de la redirection de liaison pour l’assembly System.Reflection.MetadataLoadContext, ce qui permet à VS Code et aux extensions de référencer les versions antérieures de cet assembly et de s’exécuter correctement dans le processus de devenv.exe. | |
Correction d’échecs intermittents dans l’ensemble d’outils de langage C++ qui se manifeste en tant qu’erreurs D8000: UNKNOWN COMMAND LINE |
ticket de commentaires |
| Correction d'un problème pour empêcher le réordonnancement des instructions AVX vers le chemin d'exécution uniquement SSE2. | ticket de commentaires |
| Correction du contexte non pris en charge dans la fenêtre Conteneurs. |
| Conseils de sécurité traités | CVE |
|---|---|
| Accès au suivi ETW non connu par l’administrateur installant VS sur l’ordinateur | CVE-2025-32703 |
| Exécution de code à distance en raison d’un squattage de package nuget | CVE-2025-32702 |
| .NET - Usurpation d'identité - Élévation de privilèges dans les comportements par défaut des tâches DownloadFile de msbuild | CVE-2025-26646 |
Version 17.12.7
Publication: 8 avril 2025
| Correctifs de bogues principaux | De la communauté |
|---|---|
| Ajout de la prise en charge des stratégies d’archivage TFVC modernes, ainsi que des conseils et des avertissements lorsque les stratégies d’archivage TFVC obsolètes sont appliquées. | |
| Bogue de condition de course VisualCppTools / ppltasks.h dans when_any | ticket de commentaires |
| Correction de l’échec du lien arm64EC non résolu #_guard_dispatch_icall_$fo$ | ticket de commentaires |
| Conseils de sécurité traités | CVE |
|---|---|
| Visual Studio node.js vulnérabilité d’exécution de code à distance du chemin de recherche non approuvé | CVE-2025-29802 |
| Visual Studio vulnérabilité d’exécution de code à distance du chemin d’accès de recherche non approuvé Android JDK | CVE-2025-29804 |
| ASP.NET Core 8 déni de service avec HTTP/3 | CVE-2025-26682 |
Version 17.12.6
publication : 11 marsth, 2025
| Correctifs de bogues principaux | De la communauté |
|---|---|
| Correction d’un problème d’initialisation incorrect pour certains structs avec des membres de taille zéro. | |
Le désinfecteur d’adresse (ASan) est désormais lié à OneCoreUAP_apiset.lib, une bibliothèque parapluie, plutôt que directement vers des bibliothèques Win32. Il s’agit de rendre ASan plus portable sur plusieurs versions et appareils du système d’exploitation. Si votre code dépend de manière transitive des modules Win32 apportés par ASan (non recommandé), il peut s’agir d’une modification cassante. Dans ce cas, nous vous recommandons de lier votre programme directement aux bibliothèques de dépendances Win32 nécessaires. |
ticket de commentaires |
| Correction d’un problème dans le renommage inline C# dans lequel l’identificateur entier a été sélectionné lorsque des suggestions de renommage étaient disponibles. Cela remplacerait la sélection du développeur et pourrait entraîner une mauvaise saisie, en particulier si le développeur a déplacé le caret dans l’interface de renommage inline. À présent, Copilot suggestions de renommage ne modifie pas la sélection dans l’interface de renommage inline. | ticket Feedback |
| Correction d’un problème où les DLL instrumentées déchargées pendant l’exécution du test d’entrée du fuzzer provoquent un faux rapport d’erreur ASan positif et un incident. | ticket de commentaires |
| Ice x86 après la mise à jour des données d’optimisation PGO | ticket de commentaires |
| Correction d’un problème où les clients disposant d’un matériel graphique Intel pouvaient faire défiler l’éditeur après avoir déclenché un aperçu d’image sur le pointage. | ticket de commentaires |
| VS2022 Professionnel - Impossible de se connecter au compte m | ticket de commentaires |
| Suppression de la liste déroulante des arguments de ligne de commande pour atténuer le blocage de l’interface utilisateur dans l’expérience Unreal Engine. | |
| Les projets Blazor interrompent IntelliSense 17.12.2 | ticket de commentaires |
| Conseils de sécurité traités | CVE |
|---|---|
| vulnérabilité d’élévation de privilèges Visual Studio | CVE-2025-25003 |
| vulnérabilité d’élévation de privilèges .NET | CVE-2025-24070 |
| vulnérabilité d’élévation de privilèges du programme d’installation Visual Studio | CVE-2025-24998 |
Version 17.12.5
publication : 11 févrierth, 2025
| Correctifs de bogues principaux | De la communauté |
|---|---|
| Nous avons résolu un problème où parfois l’outil Utilisation du processeur n’affichait pas les résultats, même s’il avait précédemment capturé des données. | |
| MSVC Code Analysis peut désormais détecter l’utilisation de pointeurs déanglants qui pointe vers des ressources dans des objets temporaires détruits lorsqu’ils sont utilisés dans la liste d’initialiseurs d’un tableau. | ticket de commentaires |
| Erreur avec le projet String ::Format dans le projet bibliothèque de classes CLR C++ (.NET) | ticket de commentaires |
| Régression dans la version 17.12.0 : Échec de substitution est une erreur C3699 lors de la compilation avec /CLR | ticket de commentaires |
| Mise à jour du Kit de développement logiciel (SDK) Windows 11 (10.0.26100.0) installé par Visual Studio vers la build de maintenance de janvier 2025. | |
| Correction d’un bogue dans l’optimiseur qui conduit à un codegen incorrect et qui a été observé affectant la fonction std ::sort lorsqu’elle est appelée à partir d’une coroutine. |
| Conseils de sécurité traités | CVE |
|---|---|
| Visual Studio installer l’élévation de privilèges - Élément de chemin de recherche non contrôlé permet à un attaquant non autorisé d’élever des privilèges localement. | CVE-2025-21206 |
Version 17.12.4
publication : 14 janvierth, 2025
| Correctifs de bogues principaux | De la communauté |
|---|---|
| Résolution d’une incompatibilité entre Live++ (outil Rechargement à chaud C++ tiers) et Visual Studio 2022. | ticket de commentaires |
| Résolution d’un blocage dans All-In-One Search (Ctrl+T, Ctrl+Q). | ticket de commentaires |
| Visual Studio débogueur ne peut pas afficher les valeurs dans la fenêtre « Locals ». | ticket de commentaires |
| Correction d’un bogue entraînant le blocage et la fermeture immédiates de VS lors de l’ouverture de l’Gestionnaire de package NuGet si le volet de détails côté droit était dimensionné pour être très petit. | ticket de commentaires |
| Correction d’un problème où le pointage sur un fichier Docker pouvait bloquer VS. | |
| Correction d’un problème d’initialisation incorrecte pour certains structs avec des membres de taille zéro. | |
| Correction d’un problème pour les cibles x86 où les registres d’images utilisés pendant les coroutines peuvent ne pas être rechargés correctement. | ticket de commentaires |
| VS inclut désormais MAUI 8.0.100 (SR10) ; MAUI 9.0.14 (SR1.4) | |
| Correction du scintillement des couleurs de syntaxe lors du défilement via https://github.com/dotnet/roslyn/pull/75796|| |
| Conseils de sécurité traités | CVE |
|---|---|
| vulnérabilité d’exécution de code à distance .NET et Visual Studio | CVE-2025-21172 |
| .NET, .NET Framework et Visual Studio vulnérabilité d’exécution de code à distance | CVE-2025-21176 |
| vulnérabilité d’exécution de code à distance Visual Studio | CVE-2025-21178 |
| Le caractère retour chariot dans l’URL distante permet au référentiel malveillant de fuite d’informations d’identification | CVE-2024-50338 |
| vulnérabilité d’exécution de code à distance .NET | CVE-2025-21171 |
| (Linux uniquement) vulnérabilité d’élévation de privilèges .NET | CVE-2025-21173 |
| vulnérabilité d’élévation de privilèges Visual Studio | CVE-2025-21405 |
Version 17.12.3
Publication : 3rd, 2024
| Correctifs de bogues principaux | De la communauté |
|---|---|
| Erreurs NuGet après la mise à niveau de VS v17.11.6 vers la version 17.12 avec .NET 9. | ticket de commentaires |
| Messages Unity privés marqués de manière incorrecte comme des IDE0051 inutilisés. | ticket de commentaires |
| Intellisense a cessé de fonctionner dans Word projet C++. | ticket Feedback |
| Correction d’un problème où les caractères pouvaient être dupliqués lors de la saisie d’un fichier contenant une langue incorporée. | ticket Feedback |
| Correction d’un problème dans lequel la résolution des conflits de fusion dans les fichiers .razor et les fichiers .cshtml entraînerait une fenêtre vide. | ticket de commentaires |
| Azure Devops Permalink de Visual Studio 2022 ne fonctionne pas. | ticket Feedback |
| Correction d’un problème où Visual Studio se bloque si la variable d’environnement DOTNET_SYSTEM_GLOBALIZATION_INVARIANT a été définie sur 1. | ticket de commentaires |
| Correction de l’erreur de démarrage du profileur de performances pour les projets C++. | ticket de commentaires |
Version 17.12.2
Publication : 26th, 2024
| Correctifs de bogues principaux | De la communauté |
|---|---|
| IntelliSense C++ n’affiche plus d’erreurs pour les projets qui fonctionnaient dans IntelliSense dans Visual Studio 17.11. | ticket de commentaires |
| Le processus d’indexeur Copilot ne verrouille plus les fichiers. | ticket de commentaires |
| Correction d’un blocage du compilateur dans le code C++/CLI qui cible .NET Core et utilise des tableaux param-array. | ticket de commentaires |
| .NET pour les notes de publication iOS/tvOS/macOS/macCatalyst | |
| Après Windows mise à jour KB5041580, Visual Studio se bloque silencieusement lors de l’ouverture d’une fenêtre d’éditeur de fusion. | ticket Feedback |
| [LKG18] Certaines fonctions encapsulées de réduction ont des informations de déroulement incomplètes dans leurs fragments secondaires. | ticket de commentaires |
| Erreur du compilateur interne C1001 pour la build arm64. | ticket de commentaires |
| Blocage SSDT avec une erreur critique rencontrée dans VS17.12. | ticket de commentaires |
Version 17.12.1
publication Novembre 19th, 2024
| Correctifs de bogues principaux | De la communauté |
|---|---|
| Correction du problème de scintillement de couleur de syntaxe lors du défilement via https://github.com/dotnet/roslyn/pull/75796 | |
| Cette version inclut des mises à jour pour maintenir la conformité aux lois internationales en matière de langue. |
De nous tous sur l’équipe, merci de choisir Visual Studio. Si vous avez des questions, contactez-nous sur Twitter ou Developer Community.
Code heureux !
L’équipe Visual Studio
Remarque
Cette mise à jour peut inclure de nouveaux logiciels Microsoft ou tiers sous licence séparément, comme indiqué dans les 3rd Party Notices ou dans sa licence associée.
Visual Studio 2022 version 17.12 notes de publication


Arrêter la recherche







d’importation

de message Git


cible Linux
outils MSIX
de signature de modification