Поделиться через


Пакет SDK для Visual Studio 2022 удалены API

Приведенные ниже API были удалены из пакета SDK Для Visual Studio и больше не могут использоваться, см. в каждом разделе подробных сведений о том, как обновить код.

IVsImageService

IVsImageService удаляется в Visual Studio 2022. Вместо этого все пользователи IVsImageService должны перейти к IVsImageService2.

Если вы используете IVsImageService, замените вызовы его методов эквивалентными методами IVsImageService2:

метода IVsImageService эквивалентного метода IVsImageService2
Добавлять AddCustomImage
Получить GetImage
GetIconForFile GetImageMonikerForFile
GetIconForFileEx GetImageMonikerForFile

IVsImageServiceметоды Add and Get ссылаются на пользовательские изображения по имени (строке), а не моникеру. Предпочтительнее переключить код на использование только моникеров для ссылки на пользовательские образы, но если это окажется непрактичным IVsImageService2 имеет несколько методов, которые позволят связать имя с моникером:

  • TryAssociateNameWithMoniker
  • GetImageMonikerForName

С помощью этих двух методов можно продолжать ссылаться на изображения по имени.

IBlockContextProvider

В Visual Studio 2022 удаляются IBlockContextProvider и связанные типы. Вместо этого все пользователи IBlockContextProvider должны перейти к IStructureContextSourceProvider.

Вместо этого пользователям IBlockContextProvider следует использовать IStructureContextSourceProvider (документации).

IToolTipProvider

В Visual Studio 2022 удаляются IToolTipProvider и связанные типы. Вместо этого все пользователи IToolTipProvider должны перейти к IToolTipService.

Вместо этого пользователям IToolTipProvider следует использовать IToolTipService (документации).

IVsTextScanner и IVsFullTextScanner

IVsTextScanner и IVsFullTextScanner удаляются в Visual Studio 2022. Вместо этого все пользователи IVsTextScanner или IVsFullTextScanner должны перейти к IVsTextLines.

Пользователи IVsTextScanner или IVsFullTextScanner должны использовать IVsTextLines (документации.

Асинхронная загрузка решения и упрощенная загрузка решения

Функции асинхронной загрузки решения (ASL) и упрощенной загрузки решений (LSL) удаляются в Visual Studio 2022, так как такие методы удаляются:

Интерфейсы

  • IVsSolution4 — методы: IsBackgroundSolutionLoadEnabled, EnsureProjectsAreLoaded, EnsureProjectIsLoaded, EnsureSolutionIsLoaded
  • IVsSolutionLoadEvents — методы: OnBeforeBackgroundSolutionLoadBegins, OnQueryBackgroundLoadProjectBatch, OnBeforeLoadProjectBatch, OnAfterLoadProjectBatch
  • IVsSolutionLoadManagerSupport — весь интерфейс
  • IVsSolutionLoadManager — весь интерфейс
  • IVsSccManager3 — весь интерфейс
  • IVsAsynchronousProjectCreate — весь интерфейс
  • IVsAsynchronousProjectCreateUI — весь интерфейс

Перечисления, свойства и контексты пользовательского интерфейса

  • VSHPROPID_ProjectUnloadStatus — перечисление: UNLOADSTATUS_LoadPendingIfNeeded
  • VSHPROPID_DemandLoadDependencies
  • VSHPROPID_IsProjectProvisioned
  • VSPROPID_IsInBackgroundIdleLoadProjectBatch
  • VSPROPID_IsInSyncDemandLoadProjectBatch
  • VSPROPID_ActiveSolutionLoadManager
  • UICONTEXT_BackgroundProjectLoad

Никакой.

IVsDummy

IVsDummy удаляется в Visual Studio 2022 и не будет заменена.

Никакой. Но это не должно повлиять, так как API ничего не сделал.

Microsoft.VisualStudio.Shell.Task

Класс Microsoft.VisualStudio.Shell.Task был переименован в Microsoft.VisualStudio.Shell.TaskListItem, чтобы не конфликтовать с очень популярным классом System.Threading.Tasks.Task.

Открытый из исходного кода безопасный

Поддержка открытия решения из исходного безопасного кода удаляется, так как удаляются следующие методы, события и константы.

Интерфейсы

  • IVsSCCProvider3 — весь интерфейс

Никакой.

Новый конструктор XAML WPF для .NET Framework

Текущий конструктор XAML WPF для .NET Framework устарел и будет заменен новым конструктором XAML WPF для .NET Framework на основе той же архитектуры, используемой для конструктора XAML WPF для .NET Core. Это также означает, что модель расширяемости элементов управления WPF .NET Framework на основе .design.dll и Microsoft.Windows.Design.Extensibility больше не поддерживается. Новый конструктор XAML WPF для .NET Framework предоставит ту же модель расширяемости, что и конструктор XAML WPF для .NET (.NET Core). Если вы уже создали расширение .designtools.dll для .NET (.NET Core), то это же расширение будет работать для нового конструктора XAML WPF для .NET Framework. Дополнительные сведения о переходе на новую модель расширяемости для платформ WPF (.NET Framework и .NET Core) и платформ UWP см. ниже.

См. миграции конструктора XAML.