Partilhar via


APIs removidas do SDK do Visual Studio 2022

As APIs abaixo foram removidas do SDK do Visual Studio e não podem mais ser usadas, consulte cada seção para obter detalhes sobre como atualizar seu código.

IVsImageService

O IVsImageService está sendo removido no Visual Studio 2022. Em vez disso, todos os utilizadores de IVsImageService devem mudar para IVsImageService2.

Se você usar IVsImageService, substitua chamadas para seus métodos por chamadas para métodos equivalentes em IVsImageService2:

IVsImageService Método Método IVsImageService2 equivalente
Adicionar AddCustomImage
Obter GetImage
GetIconForFile GetImageMonikerForFile
GetIconForFileEx GetImageMonikerForFile

Os métodos Add e Get do IVsImageServicese referiam a imagens personalizadas por nome (uma cadeia de caracteres), em vez de um apelido. É preferível que você mude seu código para usar apenas apelidos para se referir a imagens personalizadas, mas se isso se provar impraticável, IVsImageService2 tem alguns métodos que permitirão associar um nome a um apelido:

  • TryAssociateNameWithMoniker
  • GetImageMonikerForName

Usando esses dois métodos, você pode continuar a fazer referência a imagens pelo nome.

IBlockContextProvider

Os IBlockContextProvider e tipos relacionados estão sendo removidos no Visual Studio 2022. Em vez disso, todos os utilizadores de IBlockContextProvider devem mudar para IStructureContextSourceProvider.

Os usuários de IBlockContextProvider devem usar IStructureContextSourceProvider em vez disso (documentação).

IToolTipProvider

Os IToolTipProvider e tipos relacionados estão sendo removidos no Visual Studio 2022. Em vez disso, todos os utilizadores de IToolTipProvider devem mudar para IToolTipService.

Os usuários de IToolTipProvider devem usar IToolTipService em vez disso (documentação).

IVsTextScanner e IVsFullTextScanner

Os IVsTextScanner e IVsFullTextScanner estão sendo removidos no Visual Studio 2022. Todos os usuários do IVsTextScanner ou IVsFullTextScanner devem mudar para IVsTextLines em vez disso.

Os usuários de IVsTextScanner ou IVsFullTextScanner devem usar IVsTextLines em vez disso (documentação.

Carga de solução assíncrona e carga de solução leve

Os recursos ASL (carga de solução assíncrona) e LSL (carga de solução leve) estão sendo removidos no Visual Studio 2022, como tal, os seguintes métodos estão sendo removidos:

Interfaces

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

Enums, propriedades e contextos de interface do usuário

  • VSHPROPID_ProjectUnloadStatus - Enum: UNLOADSTATUS_LoadPendingIfNeeded
  • VSHPROPID_DemandLoadDependencies
  • VSHPROPID_IsProjectProvisioned
  • VSPROPID_IsInBackgroundIdleLoadProjectBatch
  • VSPROPID_IsInSyncDemandLoadProjectBatch
  • VSPROPID_ActiveSolutionLoadManager
  • UICONTEXT_BackgroundProjectLoad

Nenhuma.

IVsDummy

O IVsDummy está sendo removido no Visual Studio 2022 e não será substituído.

Nenhuma. Mas, não deve ter impacto, pois a API não fez nada.

Microsoft.VisualStudio.Shell.Task

A classe Microsoft.VisualStudio.Shell.Task foi renomeada para Microsoft.VisualStudio.Shell.TaskListItem para não entrar em conflito com a classe System.Threading.Tasks.Task muito popular.

Aberto a partir do código-fonte seguro

O suporte para abrir uma solução a partir do cofre de origem está sendo removido, como tal, os seguintes métodos, eventos e constantes estão sendo removidos.

Interfaces

  • IVsSCCProvider3 - Interface completa

Nenhuma.

Novo WPF XAML Designer para .NET Framework

O atual WPF XAML Designer for .NET Framework foi preterido e será substituído por um novo WPF XAML Designer for .NET Framework, baseado na mesma arquitetura usada para o WPF XAML Designer for .NET (.NET Core). Isso também significa que o modelo de extensibilidade de controle do WPF .NET Framework baseado em .design.dll e Microsoft.Windows.Design.Extensibility não é mais suportado. O novo WPF XAML Designer para .NET Framework fornecerá o mesmo modelo de extensibilidade que o WPF XAML Designer para .NET (.NET Core). Se você já criou uma extensão .designtools.dll para .NET (.NET Core), essa mesma extensão funcionará para o novo WPF XAML Designer for .NET Framework. Consulte o link de migração abaixo para obter mais informações sobre como migrar para o novo modelo de extensibilidade para plataformas WPF (.NET Framework e .NET Core) e plataformas UWP no futuro.

Consulte migração de extensibilidade do designer XAML.