共用方式為


淘汰 API 的新診斷識別碼

先前,一些 API 已淘汰,而不需要使用自訂診斷識別碼。 從 .NET 6 開始,這些 API 會使用不同的自訂診斷識別碼來回報為已淘汰。 如果您透過 CS0618 隱藏使用這些 API 的警告,則請修改隱藏以使用新的診斷識別碼:SYSLIB0003SYSLIB0019SYSLIB0020

變更描述

下表顯示所列出已淘汰 API 的新舊診斷識別碼。

API 先前的診斷識別碼 新的診斷識別碼
Thread.GetCompressedStack() CS0618 SYSLIB0003
Thread.SetCompressedStack(CompressedStack) CS0618 SYSLIB0003
RuntimeEnvironment.SystemConfigurationFile CS0618 SYSLIB0019
RuntimeEnvironment.GetRuntimeInterfaceAsIntPtr(Guid, Guid) CS0618 SYSLIB0019
RuntimeEnvironment.GetRuntimeInterfaceAsObject(Guid, Guid) CS0618 SYSLIB0019
JsonSerializerOptions.IgnoreNullValues CS0618 SYSLIB0020

導入的版本

.NET 6

變更原因

從 .NET 5 開始,淘汰是要使用自訂診斷識別碼值,以允許警告的精細隱藏。 仍然需要參考已淘汰 API 時,這會產生較佳的體驗。 一開始將 API 標記為 [Obsolete] 時,此處受影響淘汰應該已套用自訂診斷識別碼值。

如果從組建產生 SYSLIB0003、SYSLIB0019 或 SYSLIB0020 診斷識別碼,則請檢閱受影響 API 的使用方式。 可能的話,請避免使用這些 API,並參照訊息和文件以取得替代方案。 如果您需要保留已淘汰 API 的參考並隱藏診斷,則請使用新的診斷識別碼來隱藏警告,而非 CS0618

受影響的 API

另請參閱