Visual Studio 2022 SDK 已删除 API

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

IVsImageService

Visual Studio 2022 中正在删除 IVsImageServiceIVsImageService 的所有用户应改为移动到 IVsImageService2

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

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

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

  • TryAssociateNameWithMoniker
  • GetImageMonikerForName

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

IBlockContextProvider

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

IBlockContextProvider 用户应改用 IStructureContextSourceProvider文档)。

IToolTipProvider

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

IToolTipProvider 用户应改用 IToolTipService文档)。

IVsTextScanner 和 IVsFullTextScanner

Visual Studio 2022 中删除 IVsTextScannerIVsFullTextScannerIVsTextScannerIVsFullTextScanner 的所有用户应改为移动到 IVsTextLines

IVsTextScannerIVsFullTextScanner 的用户应改用 IVsTextLines文档

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

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

接口

  • IVsSolution4 - 方法:IsBackgroundSolutionLoadEnabledEnsureProjectsAreLoadedEnsureProjectIsLoadedEnsureSolutionIsLoaded
  • IVsSolutionLoadEvents - 方法:OnBeforeBackgroundSolutionLoadBeginsOnQueryBackgroundLoadProjectBatchOnBeforeLoadProjectBatchOnAfterLoadProjectBatch
  • 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 设计器扩展性迁移