Udostępnij za pośrednictwem


Usunięto interfejsy API zestawu SDK programu Visual Studio 2022

Poniższe interfejsy API zostały usunięte z zestawu Visual Studio SDK i nie można ich już używać. Zobacz każdą sekcję, aby uzyskać szczegółowe informacje na temat sposobu aktualizowania kodu.

IVsImageService

IVsImageService jest usuwana w programie Visual Studio 2022. Zamiast tego wszyscy użytkownicy IVsImageService powinni przejść do IVsImageService2.

Jeśli używasz IVsImageService, zastąp wywołania do jej metod wywołaniami równoważnymi metodami w IVsImageService2:

metody IVsImageService równoważna metoda IVsImageService2
Dodawać AddCustomImage
Pobierz GetImage
GetIconForFile GetImageMonikerForFile
GetIconForFileEx GetImageMonikerForFile

IVsImageServicemetody Add and Get odwoływały się do obrazów niestandardowych według nazwy (ciągu), a nie do monikera. Zaleca się przełączenie kodu tak, aby używały tylko monikers do odwoływania się do obrazów niestandardowych, ale jeśli okaże się to niepraktyczne, IVsImageService2 ma kilka metod, które umożliwią skojarzenie nazwy z pseudonimem:

  • TryAssociateNameWithMoniker
  • GetImageMonikerForName

Korzystając z tych dwóch metod, można nadal odwoływać się do obrazów według nazwy.

IBlockContextProvider

Typy IBlockContextProvider i powiązane są usuwane w programie Visual Studio 2022. Zamiast tego wszyscy użytkownicy IBlockContextProvider powinni przejść do IStructureContextSourceProvider.

Zamiast tego użytkownicy IBlockContextProvider powinni używać IStructureContextSourceProvider (dokumentacji).

IToolTipProvider

Typy IToolTipProvider i powiązane są usuwane w programie Visual Studio 2022. Zamiast tego wszyscy użytkownicy IToolTipProvider powinni przejść do IToolTipService.

Zamiast tego użytkownicy IToolTipProvider powinni używać IToolTipService (dokumentacji).

IVsTextScanner i IVsFullTextScanner

IVsTextScanner i IVsFullTextScanner są usuwane w programie Visual Studio 2022. Wszyscy użytkownicy IVsTextScanner lub IVsFullTextScanner powinni przejść do IVsTextLines.

Użytkownicy IVsTextScanner lub IVsFullTextScanner powinni zamiast tego używać IVsTextLines (dokumentacji.

Ładowanie rozwiązania asynchronicznego i uproszczone ładowanie rozwiązań

Funkcje ładowania rozwiązania asynchronicznego (ASL) i uproszczonego ładowania rozwiązań (LSL) są usuwane w programie Visual Studio 2022, ponieważ są usuwane następujące metody:

Interfejsów

  • IVsSolution4 — metody: IsBackgroundSolutionLoadEnabled, EnsureProjectsAreLoaded, EnsureProjectIsLoaded, EnsureSolutionIsLoaded
  • IVsSolutionLoadEvents — metody: OnBeforeBackgroundSolutionLoadBegins, OnQueryBackgroundLoadProjectBatch, OnBeforeLoadProjectBatch, OnAfterLoadProjectBatch
  • IVsSolutionLoadManagerSupport — cały interfejs
  • IVsSolutionLoadManager — cały interfejs
  • IVsSccManager3 — cały interfejs
  • IVsAsynchronousProjectCreate — cały interfejs
  • IVsAsynchronousProjectCreateUI — cały interfejs

Wyliczenia, właściwości i konteksty interfejsu użytkownika

  • VSHPROPID_ProjectUnloadStatus — wyliczenie: UNLOADSTATUS_LoadPendingIfNeeded
  • VSHPROPID_DemandLoadDependencies
  • VSHPROPID_IsProjectProvisioned
  • VSPROPID_IsInBackgroundIdleLoadProjectBatch
  • VSPROPID_IsInSyncDemandLoadProjectBatch
  • VSPROPID_ActiveSolutionLoadManager
  • UICONTEXT_BackgroundProjectLoad

Żaden.

IVsDummy

IVsDummy jest usuwana w programie Visual Studio 2022 i nie zostanie zamieniona.

Żaden. Nie powinno to jednak mieć żadnego wpływu, ponieważ interfejs API nic nie zrobił.

Microsoft.VisualStudio.Shell.Task

Nazwa klasy Microsoft.VisualStudio.Shell.Task została zmieniona na Microsoft.VisualStudio.Shell.TaskListItem tak, aby nie powodować konfliktu z bardzo popularną klasą System.Threading.Tasks.Task.

Bezpieczne otwieranie ze źródła

Obsługa otwierania rozwiązania z bezpiecznego źródła jest usuwana, ponieważ są usuwane następujące metody, zdarzenia i stałe.

Interfejsów

  • IVsSCCProvider3 — cały interfejs

Żaden.

Nowy projektant XAML WPF dla platformy .NET Framework

Bieżący projektant XAML WPF dla platformy .NET Framework został przestarzały i zostanie zastąpiony nowym projektantem XAML WPF dla platformy .NET Framework, na podstawie tej samej architektury używanej dla projektanta XAML WPF dla platformy .NET (.NET Core). Oznacza to również, że model rozszerzalności kontrolki WPF .NET Framework oparty na .design.dll i Microsoft.Windows.Design.Extensibility nie jest już obsługiwany. Nowy projektant XAML WPF dla platformy .NET Framework zapewni ten sam model rozszerzalności co projektant XAML WPF dla platformy .NET (.NET Core). Jeśli utworzono już rozszerzenie .designtools.dll dla platformy .NET (.NET Core), to samo rozszerzenie będzie działać dla nowego projektanta XAML WPF dla platformy .NET Framework. Skorzystaj z poniższego linku migracji, aby uzyskać więcej informacji na temat migracji do nowego modelu rozszerzalności dla platform WPF (.NET Framework i .NET Core) oraz platform uwP w przyszłości.

Zobacz migracji rozszerzalności projektanta XAML.