Partage via


Kit de développement logiciel (SDK) Visual Studio 2022 supprimé des API

Les API ci-dessous ont été supprimées du Kit de développement logiciel (SDK) Visual Studio et ne peuvent plus être utilisées, consultez chaque section pour plus d’informations sur la façon de mettre à jour votre code.

IVsImageService

La IVsImageService est supprimée dans Visual Studio 2022. Tous les utilisateurs de IVsImageService doivent passer à IVsImageService2 à la place.

Si vous utilisez IVsImageService, remplacez les appels à ses méthodes par des appels à des méthodes équivalentes sur IVsImageService2:

méthode IVsImageService méthode IVsImageService2 équivalente
Ajouter AddCustomImage
Avoir GetImage
GetIconForFile GetImageMonikerForFile
GetIconForFileEx GetImageMonikerForFile

IVsImageServiceméthodes Add et Get référencées à des images personnalisées par nom (une chaîne), plutôt qu’un moniker. Il est préférable que vous changez de code pour utiliser uniquement des monikers pour faire référence à des images personnalisées, mais si cela s’avère peu pratique IVsImageService2 a deux méthodes qui vous permettront d’associer un nom à un moniker :

  • TryAssociateNameWithMoniker
  • GetImageMonikerForName

À l’aide de ces deux méthodes, vous pouvez continuer à référencer des images par nom.

IBlockContextProvider

Les IBlockContextProvider et les types associés sont supprimés dans Visual Studio 2022. Tous les utilisateurs de IBlockContextProvider doivent passer à IStructureContextSourceProvider à la place.

Les utilisateurs de IBlockContextProvider doivent utiliser IStructureContextSourceProvider à la place (documentation).

IToolTipProvider

Les IToolTipProvider et les types associés sont supprimés dans Visual Studio 2022. Tous les utilisateurs de IToolTipProvider doivent passer à IToolTipService à la place.

Les utilisateurs de IToolTipProvider doivent utiliser IToolTipService à la place (documentation).

IVsTextScanner et IVsFullTextScanner

Les IVsTextScanner et les IVsFullTextScanner sont supprimés dans Visual Studio 2022. Tous les utilisateurs de IVsTextScanner ou de IVsFullTextScanner doivent passer à IVsTextLines à la place.

Les utilisateurs de IVsTextScanner ou de IVsFullTextScanner doivent utiliser IVsTextLines à la place (documentation.

Chargement de solution asynchrone et chargement de solution léger

Les fonctionnalités de chargement de solution asynchrone (ASL) et de chargement de solution légère (LSL) sont supprimées dans Visual Studio 2022, comme les méthodes suivantes sont supprimées :

Interfaces

  • IVsSolution4 - Méthodes : IsBackgroundSolutionLoadEnabled, EnsureProjectsAreLoaded, EnsureProjectIsLoaded, EnsureSolutionIsLoaded
  • IVsSolutionLoadEvents - Méthodes : OnBeforeBackgroundSolutionLoadBegins, OnQueryBackgroundLoadProjectBatch, OnBeforeLoadProjectBatch, OnAfterLoadProjectBatch
  • IVsSolutionLoadManagerSupport - Interface entière
  • IVsSolutionLoadManager - Interface entière
  • IVsSccManager3 - Interface entière
  • IVsAsynchronousProjectCreate - Interface entière
  • IVsAsynchronousProjectCreateUI - Interface entière

Énumérations, propriétés et contextes d’interface utilisateur

  • VSHPROPID_ProjectUnloadStatus - Énumération : UNLOADSTATUS_LoadPendingIfNeeded
  • VSHPROPID_DemandLoadDependencies
  • VSHPROPID_IsProjectProvisioned
  • VSPROPID_IsInBackgroundIdleLoadProjectBatch
  • VSPROPID_IsInSyncDemandLoadProjectBatch
  • VSPROPID_ActiveSolutionLoadManager
  • UICONTEXT_BackgroundProjectLoad

Aucun.

IVsDummy

La IVsDummy est supprimée dans Visual Studio 2022 et ne sera pas remplacée.

Aucun. Mais il ne devrait pas avoir d’impact, car l’API n’a rien fait.

Microsoft.VisualStudio.Shell.Task

La classe Microsoft.VisualStudio.Shell.Task a été renommée en Microsoft.VisualStudio.Shell.TaskListItem afin de ne pas entrer en conflit avec la classe System.Threading.Tasks.Task très populaire.

Ouvrir à partir d’une source sécurisée

La prise en charge de l’ouverture d’une solution à partir d’un coffre-fort source est supprimée, comme les méthodes, les événements et les constantes suivantes.

Interfaces

  • IVsSCCProvider3 - Interface entière

Aucun.

Nouveau concepteur XAML WPF pour .NET Framework

Le concepteur XAML WPF actuel pour .NET Framework a été déconseillé et sera remplacé par un nouveau concepteur XAML WPF pour .NET Framework, basé sur la même architecture que celle utilisée pour le concepteur XAML WPF pour .NET (.NET Core). Cela signifie également que le modèle d’extensibilité du contrôle WPF .NET Framework basé sur .design.dll et Microsoft.Windows.Design.Extensibility n’est plus pris en charge. Le nouveau concepteur XAML WPF pour .NET Framework fournit le même modèle d’extensibilité que le concepteur XAML WPF pour .NET (.NET Core). Si vous avez déjà créé une extension .designtools.dll pour .NET (.NET Core), cette même extension fonctionnera pour le nouveau concepteur XAML WPF pour .NET Framework. Reportez-vous au lien de migration ci-dessous pour plus d’informations sur la migration vers le nouveau modèle d’extensibilité pour les plateformes WPF (.NET Framework et .NET Core) et les plateformes UWP à l’avenir.

Consultez migration de l’extensibilité du concepteur XAML.