Visual Studio 2022 SDK 已删除 API
以下 API 已从 Visual Studio SDK 中删除,不再可用,请参阅每个部分,详细了解如何更新代码。
IVsImageService
IBlockContextProvider
IToolTipProvider
IVsTextScanner
和IVsFullTextScanner
- 异步解决方案加载和轻型解决方案加载
IVsDummy
Microsoft.VisualStudio.Shell.Task
- 从源安全开放
- 面向 .NET Framework 的新版 WPF XAML 设计器
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
、、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 设计器扩展性迁移。