Visual Studio 2022 SDK 已删除 API

以下 API 已从 Visual Studio SDK 中删除,不再可用,请参阅每个部分,详细了解如何更新代码。

IVsImageService

IVsImageService正在 Visual Studio 2022 中删除。 IVsImageService所有用户都应改为移动到该用户IVsImageService2

如果使用 IVsImageService,请将对其方法的调用替换为对等效方法的 IVsImageService2调用:

IVsImageService 方法 等效的 IVsImageService2 方法
添加 AddCustomImage
获取 GetImage
GetIconForFile GetImageMonikerForFile
GetIconForFileEx GetImageMonikerForFile

IVsImageService“添加和获取按名称(字符串)引用自定义图像的方法,而不是名字对象。 最好将代码切换为仅使用名字对象来引用自定义图像,但如果这证明不切实际 IVsImageService2 ,可以使用几种方法将名称与名字对象相关联:

  • TryAssociateNameWithMoniker
  • GetImageMonikerForName

使用这两种方法,可以继续按名称引用图像。

IBlockContextProvider

IBlockContextProvider Visual Studio 2022 中删除了相关类型。 IBlockContextProvider所有用户都应改为移动到该用户IStructureContextSourceProvider

用户 IBlockContextProvider 应改用 IStructureContextSourceProvider文档)。

IToolTipProvider

IToolTipProvider Visual Studio 2022 中删除了相关类型。 IToolTipProvider所有用户都应改为移动到该用户IToolTipService

用户 IToolTipProvider 应改用 IToolTipService文档)。

IVsTextScanner 和 IVsFullTextScanner

IVsFullTextScanner Visual IVsTextScanner Studio 2022 中正在将其删除。 IVsTextScanner所有用户或IVsFullTextScanner应改为移动到IVsTextLines该用户。

IVsTextScanner用户或IVsFullTextScanner应改用IVsTextLines文档)。

异步解决方案加载和轻型解决方案加载

正在 Visual Studio 2022 中删除异步解决方案加载(ASL)和轻型解决方案加载(LSL)功能,例如,正在删除以下方法:

接口

  • IVsSolution4- 方法:IsBackgroundSolutionLoadEnabled、、EnsureProjectsAreLoadedEnsureProjectIsLoadedEnsureSolutionIsLoaded
  • IVsSolutionLoadEvents- 方法:OnBeforeBackgroundSolutionLoadBegins、、OnQueryBackgroundLoadProjectBatchOnBeforeLoadProjectBatchOnAfterLoadProjectBatch
  • IVsSolutionLoadManagerSupport - 整个接口
  • IVsSolutionLoadManager - 整个接口
  • IVsSccManager3 - 整个接口
  • IVsAsynchronousProjectCreate - 整个接口
  • IVsAsynchronousProjectCreateUI - 整个接口

枚举、属性和 UI 上下文

  • VSHPROPID_ProjectUnloadStatus -枚举: UNLOADSTATUS_LoadPendingIfNeeded
  • VSHPROPID_DemandLoadDependencies
  • VSHPROPID_IsProjectProvisioned
  • VSPROPID_IsInBackgroundIdleLoadProjectBatch
  • VSPROPID_IsInSyncDemandLoadProjectBatch
  • VSPROPID_ActiveSolutionLoadManager
  • UICONTEXT_BackgroundProjectLoad

无。

IVsDummy

Visual Studio 2022 中正在删除该 IVsDummy 对象,不会替换。

无。 但是,它应该没有影响,因为 API 没有执行任何作用。

Microsoft.VisualStudio.Shell.Task

Microsoft.VisualStudio.Shell.Task 类已重命名为 Microsoft.VisualStudio.Shell.TaskListItem 不与非常受欢迎的 System.Threading.Tasks.Task 类冲突。

从源安全开放

正在删除从源安全打开解决方案的支持,例如,正在删除以下方法、事件和常量。

接口

  • IVsSCCProvider3 - 整个接口

无。

面向 .NET Framework 的新版 WPF XAML 设计器

适用于 .NET Framework 的当前 WPF XAML 设计器已弃用,并将基于用于 .NET 的 WPF XAML 设计器的相同体系结构(.NET Core)替换为新的 WPF XAML 设计器。 这也意味着不再支持基于 .design.dll 和 Microsoft.Windows.Design.Extensibility 的 WPF .NET Framework 控件扩展性模型。 适用于 .NET Framework 的新 WPF XAML 设计器将提供与用于 .NET 的 WPF XAML 设计器(.NET Core)相同的扩展性模型。 如果已为 .NET (.NET Core)创建了 .designtools.dll 扩展,则相同的扩展适用于适用于 .NET Framework 的新 WPF XAML 设计器。 有关如何迁移到 WPF 平台(.NET Framework 和 .NET Core)和 UWP 平台的新扩展性模型的详细信息,请参阅下面的迁移链接。

请参阅 XAML 设计器扩展性迁移