共用方式為


具有非預設診斷識別碼的 API 淘汰 (.NET 9)

從 .NET 9 開始,某些 API 已標示為已淘汰。 這項中斷性變更專屬於已標示為已過時且「具有自訂診斷識別碼」的 API。 隱藏 C# 編譯器的預設淘汰診斷識別碼,也就是 CS0618,不會隱藏使用這些 API 時編譯器所產生的警告。

變更描述

在舊版 .NET 中,可以使用這些 API,且不會出現任何建置警告。 在 .NET 9 與更新版本中,使用這些 API 會產生具有自訂診斷識別碼的編譯時間警告或錯誤。 使用自訂診斷識別碼可讓您個別隱藏淘汰警告,而不是隱藏所有淘汰警告。

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

診斷識別碼 描述 嚴重性
SYSLIB0009 不支援 AuthenticationManager。 方法不會執行任何作業或擲回 PlatformNotSupportedException 警告
SYSLIB0014:WebRequest、HttpWebRequest、ServicePoint、WebClient 已過時 ServicePointManager 已完全過時。 上的 ServicePointManager 設定不會影響 SslStreamHttpClient (自 .NET 6 以來,此行為尚未變更)。 警告
SYSLIB0054 Thread.VolatileReadThread.VolatileWrite 已淘汰。 請改用 Volatile.ReadVolatile.Write 警告
SYSLIB0055 AdvSimd.ShiftRightLogicalRoundedNarrowingSaturate* 方法搭配帶正負號的參數是過時的做法。 請改用不帶正負號的多載。 警告
SYSLIB0056 具有自訂 AssemblyHashAlgorithmAssembly.LoadFrom 已淘汰。 使用不含 AssemblyHashAlgorithm 的多載。 警告
SYSLIB0057 二進位和檔案內容的 X509Certificate2X509Certificate 建構函式已經過時。 警告

導入的版本

.NET 9

中斷性變更的類型

這些混淆可能會影響來源相容性

  • 請使用警告上提供的 URL 連結,遵循為每個診斷識別碼提供的特定指引。

  • 使用過時類型或成員的標準診斷識別碼無法隱藏這些淘汰的警告或錯誤;請改用自訂 SYSLIBxxxx 診斷識別碼值。

受影響的 API

SYSLIB0009

SYSLIB0014

SYSLIB0054

SYSLIB0055

SYSLIB0056

SYSLIB0057

另請參閱