Visual Studio 2022 SDK 已删除 API
以下 API 已从 Visual Studio SDK 中删除,不再可用,请参阅每个部分,详细了解如何更新代码。
IVsImageService
IBlockContextProvider
IToolTipProvider
-
IVsTextScanner
和IVsFullTextScanner
- 异步解决方案加载和轻型解决方案加载
IVsDummy
Microsoft.VisualStudio.Shell.Task
- 开源安全
- 适用于 .NET Framework 的新 WPF XAML 设计器
IVsImageService
Visual Studio 2022 中正在删除 IVsImageService
。
IVsImageService
的所有用户应改为移动到 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 中删除 IVsTextScanner
和 IVsFullTextScanner
。
IVsTextScanner
或 IVsFullTextScanner
的所有用户应改为移动到 IVsTextLines
。
建议的更新
IVsTextScanner
或 IVsFullTextScanner
的用户应改用 IVsTextLines
(文档。
异步解决方案加载和轻型解决方案加载
正在 Visual Studio 2022 中删除异步解决方案加载(ASL)和轻型解决方案加载(LSL)功能,例如,正在删除以下方法:
接口
-
IVsSolution4
- 方法:IsBackgroundSolutionLoadEnabled
、EnsureProjectsAreLoaded
、EnsureProjectIsLoaded
、EnsureSolutionIsLoaded
-
IVsSolutionLoadEvents
- 方法:OnBeforeBackgroundSolutionLoadBegins
、OnQueryBackgroundLoadProjectBatch
、OnBeforeLoadProjectBatch
、OnAfterLoadProjectBatch
-
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 设计器扩展性迁移。