.NET 10 以降、一部の API は古いものとしてマークされています。 この重大な変更は、"カスタム診断 ID" を持つ、古いものとしてマークされている API に固有のものです。 C# コンパイラの CS0618 既定の非推奨診断 ID を抑制しても、これらの API が使用されるときにコンパイラによって生成される警告は抑制されません。
変更の説明
以前のバージョンの .NET では、ビルドの警告なしにこれらの API を使用できます。 .NET 10 以降のバージョンでは、これらの API を使用すると、カスタム診断 ID に関するコンパイル時の警告またはエラーが生成されます。 カスタム診断 ID を使用すると、すべての旧型式であるという警告を一括抑制する代わりに、旧型式であるという警告を個別に抑制することができます。
次の表に、古い API に対するカスタム診断 ID とそれに対応する警告メッセージを示します。
診断識別子 | 説明 | 重大性 |
---|---|---|
SYSLIB0058 |
KeyExchangeAlgorithm の KeyExchangeStrength 、CipherAlgorithm 、CipherAlgorithmStrength 、HashAlgorithm 、HashStrength 、および 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
- System.Net.Security.SslStream.KeyExchangeAlgorithm
- System.Net.Security.SslStream.KeyExchangeStrength
- System.Net.Security.SslStream.CipherAlgorithm
- System.Net.Security.SslStream.CipherStrength
- System.Net.Security.SslStream.HashAlgorithm
- System.Net.Security.SslStream.HashStrength
- System.Security.Authentication.ExchangeAlgorithmType
- System.Security.Authentication.CipherAlgorithmType
- System.Security.Authentication.HashAlgorithmType
SYSLIB0059
SYSLIB0060
- System.Security.Cryptography.Rfc2898DeriveBytes
- System.Security.Cryptography.Rfc2898DeriveBytes.Pbkdf2
SYSLIB0061
- System.Linq.Queryable.MaxBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TSource>)
- System.Linq.Queryable.MinBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TSource>)
関連項目
- 非標準の診断 ID を使用した API の廃止 (.NET 9)
- 既定以外の診断 ID を持つ API の旧型式化 (.NET 8)
- .NET 5 以降の古い機能
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET