Compartilhar 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. Todos os usuários de IVsImageService devem mudar para IVsImageService2 em vez disso.

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

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

IVsImageServicemétodos Add and Get referenciados a imagens personalizadas por nome (uma cadeia de caracteres), em vez de um moniker. É preferível que você alterne seu código para usar apenas monikers para se referir a imagens personalizadas, mas se isso for impraticável IVsImageService2 tiver alguns métodos que permitirão associar um nome a um moniker:

  • TryAssociateNameWithMoniker
  • GetImageMonikerForName

Usando esses dois métodos, você pode continuar a referenciar imagens por nome.

IBlockContextProvider

Os tipos IBlockContextProvider e relacionados estão sendo removidos no Visual Studio 2022. Todos os usuários de IBlockContextProvider devem mudar para IStructureContextSourceProvider em vez disso.

Em vez disso, os usuários de IBlockContextProvider devem usar IStructureContextSourceProvider (documentação).

IToolTipProvider

Os tipos IToolTipProvider e relacionados estão sendo removidos no Visual Studio 2022. Todos os usuários de IToolTipProvider devem mudar para IToolTipService em vez disso.

Em vez disso, os usuários de IToolTipProvider devem usar IToolTipService (documentação).

IVsTextScanner e IVsFullTextScanner

O IVsTextScanner e IVsFullTextScanner estão sendo removidos no Visual Studio 2022. Todos os usuários de IVsTextScanner ou IVsFullTextScanner devem mudar para IVsTextLines.

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

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

Os recursos de ASL (carga de solução assíncrona) e LSL (carga de solução leve) estão sendo removidos no Visual Studio 2022, como 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 inteira
  • IVsSolutionLoadManager – Interface inteira
  • IVsSccManager3 – Interface inteira
  • IVsAsynchronousProjectCreate – Interface inteira
  • IVsAsynchronousProjectCreateUI – Interface inteira

Enumerações, propriedades e contextos de interface do usuário

  • VSHPROPID_ProjectUnloadStatus – Enumeração: UNLOADSTATUS_LoadPendingIfNeeded
  • VSHPROPID_DemandLoadDependencies
  • VSHPROPID_IsProjectProvisioned
  • VSPROPID_IsInBackgroundIdleLoadProjectBatch
  • VSPROPID_IsInSyncDemandLoadProjectBatch
  • VSPROPID_ActiveSolutionLoadManager
  • UICONTEXT_BackgroundProjectLoad

Nenhum.

IVsDummy

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

Nenhum. 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.

Abrir do cofre de origem

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

Interfaces

  • IVsSCCProvider3 – Interface inteira

Nenhum.

Novo Designer XAML do WPF para .NET Framework

O Designer XAML do WPF atual para .NET Framework foi preterido e será substituído por um novo Designer XAML do WPF para .NET Framework, com base na mesma arquitetura usada para o Designer XAML do WPF para .NET (.NET Core). Isso também significa que o modelo de extensibilidade de controle do .NET Framework do WPF com base em .design.dll e Microsoft.Windows.Design.Extensibility não tem mais suporte. O novo Designer XAML do WPF para .NET Framework fornecerá o mesmo modelo de extensibilidade que o Designer XAML do WPF para .NET (.NET Core). Se você já tiver criado uma extensão .designtools.dll para .NET (.NET Core), essa mesma extensão funcionará para o novo Designer XAML do WPF para .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 avançando.

Consulte de migração de extensibilidade do designer XAML.