Compartir a través de


API quitadas del SDK de Visual Studio 2022

Las API siguientes se han quitado del SDK de Visual Studio y ya no se pueden usar, consulte cada sección para obtener más información sobre cómo actualizar el código.

IVsImageService

IVsImageService se va a quitar en Visual Studio 2022. Todos los usuarios de IVsImageService deben moverse a IVsImageService2 en su lugar.

Si usa IVsImageService, reemplace las llamadas a sus métodos por llamadas a métodos equivalentes en IVsImageService2:

IVsImageService (método) IVsImageService2 equivalente (método)
Sumar AddCustomImage
Obtener GetImage
GetIconForFile GetImageMonikerForFile
GetIconForFileEx GetImageMonikerForFile

IVsImageServiceLos métodos Add y Get se refieren a imágenes personalizadas por nombre (una cadena), en lugar de a un moniker. Es preferible cambiar el código para usar solo monikers para hacer referencia a imágenes personalizadas, pero si esto resulta poco práctico IVsImageService2 tiene un par de métodos que le permitirán asociar un nombre con un moniker:

  • TryAssociateNameWithMoniker
  • GetImageMonikerForName

Con esos dos métodos, puede seguir haciendo referencia a imágenes por nombre.

IBlockContextProvider

Los IBlockContextProvider tipos relacionados y se quitan en Visual Studio 2022. Todos los usuarios de IBlockContextProvider deben moverse a IStructureContextSourceProvider en su lugar.

Los usuarios de IBlockContextProvider deben usar IStructureContextSourceProvider en su lugar (documentación).

IToolTipProvider

Los IToolTipProvider tipos relacionados y se quitan en Visual Studio 2022. Todos los usuarios de IToolTipProvider deben moverse a IToolTipService en su lugar.

Los usuarios de IToolTipProvider deben usar IToolTipService en su lugar (documentación).

IVsTextScanner e IVsFullTextScanner

IVsTextScanner y IVsFullTextScanner se quitan en Visual Studio 2022. Todos los usuarios de IVsTextScanner o IVsFullTextScanner deben moverse a IVsTextLines en su lugar.

Los usuarios de IVsTextScanner o deben usar IVsTextLines en su lugar (documentaciónIVsFullTextScanner.

Carga asincrónica de soluciones y carga de solución ligera

Las características de carga de soluciones asincrónicas (ASL) y carga ligera de soluciones (LSL) se quitan en Visual Studio 2022, como por ejemplo, se quitan los métodos siguientes:

Interfaces

  • IVsSolution4 - Métodos: IsBackgroundSolutionLoadEnabled, EnsureProjectsAreLoaded, EnsureProjectIsLoaded, , EnsureSolutionIsLoaded
  • IVsSolutionLoadEvents - Métodos: OnBeforeBackgroundSolutionLoadBegins, OnQueryBackgroundLoadProjectBatch, OnBeforeLoadProjectBatch, , OnAfterLoadProjectBatch
  • IVsSolutionLoadManagerSupport - Interfaz completa
  • IVsSolutionLoadManager - Interfaz completa
  • IVsSccManager3 - Interfaz completa
  • IVsAsynchronousProjectCreate - Interfaz completa
  • IVsAsynchronousProjectCreateUI - Interfaz completa

Enumeraciones, propiedades y contextos de interfaz de usuario

  • VSHPROPID_ProjectUnloadStatus - Enumeración: UNLOADSTATUS_LoadPendingIfNeeded
  • VSHPROPID_DemandLoadDependencies
  • VSHPROPID_IsProjectProvisioned
  • VSPROPID_IsInBackgroundIdleLoadProjectBatch
  • VSPROPID_IsInSyncDemandLoadProjectBatch
  • VSPROPID_ActiveSolutionLoadManager
  • UICONTEXT_BackgroundProjectLoad

Ninguno.

IVsDummy

se IVsDummy va a quitar en Visual Studio 2022 y no se reemplazará.

Ninguno. Pero no debería tener ningún impacto, ya que la API no hizo nada.

Microsoft.VisualStudio.Shell.Task

Se ha cambiado el Microsoft.VisualStudio.Shell.Task nombre de la clase a Microsoft.VisualStudio.Shell.TaskListItem para no entrar en conflicto con la clase muy popular System.Threading.Tasks.Task .

Abrir desde una caja fuerte de código fuente

Se está quitando la compatibilidad para abrir una solución desde la seguridad de origen, como los siguientes métodos, eventos y constantes.

Interfaces

  • IVsSCCProvider3 - Interfaz completa

Ninguno.

Nuevo Diseñador XAML de WPF para .NET Framework

El diseñador XAML de WPF actual para .NET Framework ha quedado en desuso y se reemplazará por un nuevo diseñador XAML de WPF para .NET Framework, basado en la misma arquitectura que se usa para el Diseñador XAML de WPF para .NET (.NET Core). Esto también significa que ya no se admite el modelo de extensibilidad de control de .NET Framework de WPF basado en .design.dll y Microsoft.Windows.Design.Extensibility. El nuevo Diseñador XAML de WPF para .NET Framework proporcionará el mismo modelo de extensibilidad que el Diseñador XAML de WPF para .NET (.NET Core). Si ya ha creado una extensión de .designtools.dll para .NET (.NET Core), esa misma extensión funcionará para el nuevo Diseñador XAML de WPF para .NET Framework. Consulte el vínculo de migración siguiente para obtener más información sobre cómo migrar al nuevo modelo de extensibilidad para plataformas WPF (.NET Framework y .NET Core) y plataformas para UWP.

Consulta Migración de extensibilidad del diseñador XAML.