一部の API は、.NET 11 以降では古い形式としてマークされています。
この重大な変更は、"カスタム診断 ID" を持つ、古いものとしてマークされている API に固有のものです。 C# コンパイラの CS0618 既定の非推奨診断 ID を抑制しても、これらの API が使用されるときにコンパイラによって生成される警告は抑制されません。
変更の説明
以前のバージョンの .NET では、ビルドの警告なしにこれらの API を使用できます。 .NET 11 以降のバージョンでは、これらの API を使用すると、カスタム診断 ID でコンパイル時の警告またはエラーが生成されます。 カスタム診断 ID を使用すると、すべての旧型式であるという警告を一括抑制する代わりに、旧型式であるという警告を個別に抑制することができます。
次の表に、古い API に対するカスタム診断 ID とそれに対応する警告メッセージを示します。
| 診断識別子 | 説明 | Severity |
|---|---|---|
| SYSLIB0064 | RSACryptoServiceProvider.Encrypt(Byte[], Boolean) と RSACryptoServiceProvider.Decrypt(Byte[], Boolean) は非推奨になっています。 代わりに、 RSAEncryptionPadding を受け入れるオーバーロードを使用します。 | Warnung |
導入されたバージョン
.NET 11
破壊的変更の種類
これらの廃止は、ソースの互換性に影響を与える可能性があります。
推奨されるアクション
警告に記載されている URL リンクを使用して、診断 ID ごとに提供される具体的なガイダンスに従います。
これらの廃止された機能に関する警告やエラーは、古い型またはメンバー用の標準診断 ID では抑制できません。代わりにカスタム
SYSLIBxxxx診断 ID 値を使用してください。
影響を受ける API
SYSLIB0064
- System.Security.Cryptography.RSACryptoServiceProvider.Encrypt(Byte[], Boolean)
- System.Security.Cryptography.RSACryptoServiceProvider.Decrypt(Byte[], Boolean)
こちらも参照ください
- 暗号化の廃止予定 (.NET 11)
- 既定外の診断 ID による API 廃止 (.NET 10)
- 非標準の診断 ID を使用した API の廃止 (.NET 9)
- 既定以外の診断 ID を持つ API の旧型式化 (.NET 8)
- .NET 5 以降の古い機能
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET