共用方式為


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 方法會依名稱參考自定義映像(字串),而不是 Moniker。 最好將程式代碼切換為只使用Moniker來參考自定義影像,但如果這證明不切實際 IVsImageService2 有幾個方法可讓您將名稱與Moniker產生關聯:

  • 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

IVsDummy 正在 Visual Studio 2022 中移除,而且不會取代。

沒有。 但是,它應該不會有任何影響,因為 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 Framework 的新 WPF XAML 設計工具,其依據適用於 .NET 的 WPF XAML 設計工具所使用的相同架構(.NET Core)。 這也表示不再支援以 .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 設計工具擴充性移轉