次の方法で共有


既定以外の診断 ID を使用した API の廃止 (.NET 10)

.NET 10 以降、一部の API は古いものとしてマークされています。 この重大な変更は、"カスタム診断 ID" を持つ、古いものとしてマークされている API に固有のものです。 C# コンパイラの CS0618 既定の非推奨診断 ID を抑制しても、これらの API が使用されるときにコンパイラによって生成される警告は抑制されません。

変更の説明

以前のバージョンの .NET では、ビルドの警告なしにこれらの API を使用できます。 .NET 10 以降のバージョンでは、これらの API を使用すると、カスタム診断 ID に関するコンパイル時の警告またはエラーが生成されます。 カスタム診断 ID を使用すると、すべての旧型式であるという警告を一括抑制する代わりに、旧型式であるという警告を個別に抑制することができます。

次の表に、古い API に対するカスタム診断 ID とそれに対応する警告メッセージを示します。

診断識別子 説明 重大性
SYSLIB0058 KeyExchangeAlgorithmKeyExchangeStrengthCipherAlgorithmCipherAlgorithmStrengthHashAlgorithmHashStrength、および SslStream プロパティは廃止されています。 代わりに、NegotiatedCipherSuite を使用してください。 警告
SYSLIB0059 SystemEvents.EventsThreadShutdown コールバックは、プロセスが終了する前に実行されません。 代わりに、AppDomain.ProcessExit を使用してください。 警告
SYSLIB0060 System.Security.Cryptography.Rfc2898DeriveBytes コンストラクターは廃止されています。 代わりに、Rfc2898DeriveBytes.Pbkdf2 を使用してください。 警告
SYSLIB0061 Queryable.MaxBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TSource>)Queryable.MinBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TSource>)IComparer<TSource>を取るのは時代遅れです。 IComparer<TKey> を受け取る新しいものを使用してください。 警告

導入されたバージョン

.NET 10

破壊的変更の種類

これらの廃止は、ソースの互換性に影響を与える可能性があります。

  • 警告に記載されている URL リンクを使用して、各診断 ID に対して指定されているガイダンスに従います。

  • これらの廃止された機能に関する警告やエラーは、古い型またはメンバー用の標準診断 ID では抑制できません。代わりにカスタム SYSLIBxxxx 診断 ID 値を使用してください。

影響を受ける API

SYSLIB0058

SYSLIB0059

SYSLIB0060

SYSLIB0061

関連項目