Windows Forms 淘汰和警告 (.NET 7)

從 .NET 7 開始,某些 Windows Forms API 已標示為已淘汰。 其他 API 並非已淘汰,但如果您參考這些,將導致編譯時間警告。

先前的行為

在舊版 .NET 中,可以使用這些 API,且不會出現任何建置警告。

新的行為

在 .NET 7 與更新版本中,使用這些 API 會產生具有自訂診斷識別碼的編譯時期警告或錯誤。 使用自訂診斷識別碼可讓您個別隱藏警告,而不是隱藏所有淘汰警告。

下表列出自訂診斷識別碼及其對應的警告訊息。

診斷識別碼 描述 嚴重性 導入的版本
WFDEV001 轉換至 IntPtr/從 IntPtr 轉換並不安全。 請改用 WParamInternalLParamInternalResultInternal 警告 Preview 1
WFDEV002 System.Windows.Forms.DomainUpDown.DomainUpDownAccessibleObject 不再用來提供 DomainUpDown 控制項的可存取支援。 請改用 AccessibleObject 警告 RC 1
WFDEV003 System.Windows.Forms.DomainUpDown.DomainItemAccessibleObject 不再用來提供 DomainUpDown 項目的可存取支援。 請改用 AccessibleObject 警告 RC 1

導入的版本

.NET 7

中斷性變更的類型

這些淘汰警告可能會影響來源相容性

  • 請使用警告上提供的 URL 連結來遵循針對每個診斷識別碼提供的特定指引。
  • 如有必要,您可以使用自訂 WFDEVxxx 診斷識別碼值來隱藏警告。

受影響的 API

WFDEV001

WFDEV002

WFDEV003

另請參閱