Share 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 suppression est en cours dans Visual Studio 2022. Tous les utilisateurs doivent IVsImageService passer à la IVsImageService2 place.

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

IVsImageService, méthode IVsImageService2 équivalent, méthode
Ajouter AddCustomImage
Get GetImage
GetIconForFile GetImageMonikerForFile
GetIconForFileEx GetImageMonikerForFile

IVsImageServiceLes méthodes Add et Get faites référence à 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 , il existe quelques 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 types associés sont supprimés dans Visual Studio 2022. Tous les utilisateurs doivent IBlockContextProvider passer à la IStructureContextSourceProvider place.

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

IToolTipProvider

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

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

IVsTextScanner et IVsFullTextScanner

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

Utilisateurs de ou IVsFullTextScanner doivent utiliser IVsTextLines à la IVsTextScanner 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, , EnsureProjectIsLoadedEnsureProjectsAreLoaded,EnsureSolutionIsLoaded
  • IVsSolutionLoadEvents- Méthodes : OnBeforeBackgroundSolutionLoadBegins, , OnBeforeLoadProjectBatchOnQueryBackgroundLoadProjectBatch,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 -Enum: UNLOADSTATUS_LoadPendingIfNeeded
  • VSHPROPID_DemandLoadDependencies
  • VSHPROPID_IsProjectProvisioned
  • VSPROPID_IsInBackgroundIdleLoadProjectBatch
  • VSPROPID_IsInSyncDemandLoadProjectBatch
  • VSPROPID_ActiveSolutionLoadManager
  • UICONTEXT_BackgroundProjectLoad

Aucun.

IVsDummy

La IVsDummy suppression est en cours 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 Microsoft.VisualStudio.Shell.Task classe a été renommée pour Microsoft.VisualStudio.Shell.TaskListItem ne pas entrer en conflit avec la classe très populaire System.Threading.Tasks.Task .

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 la migration de l’extensibilité du concepteur XAML.