以下 API 已从 Visual Studio SDK 中删除,不再可用,请参阅每个部分,详细了解如何更新代码。
IVsImageServiceIBlockContextProviderIToolTipProvider-
IVsTextScanner和IVsFullTextScanner - 异步解决方案加载和轻型解决方案加载
IVsDummyMicrosoft.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 有几个方法,可让你将名称与名字对象相关联:
TryAssociateNameWithMonikerGetImageMonikerForName
使用这两种方法,可以继续按名称引用图像。
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_DemandLoadDependenciesVSHPROPID_IsProjectProvisionedVSPROPID_IsInBackgroundIdleLoadProjectBatchVSPROPID_IsInSyncDemandLoadProjectBatchVSPROPID_ActiveSolutionLoadManagerUICONTEXT_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 设计器扩展性迁移。