次の方法で共有


既定以外の診断 ID を持つ API の旧型式化 (.NET 7)

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

変更内容

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

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

診断 ID 説明 重大度
SYSLIB0036 Regex.CompileToAssembly は互換性のために残されており、サポートされていません。 代わりに、正規表現のソースジェネレーターと共に RegexGeneratorAttribute を使用してください。 警告
SYSLIB0037 AssemblyName メンバー HashAlgorithmProcessorArchitectureVersionCompatibility は互換性のために残されており、サポートされていません。 警告
SYSLIB0038 SerializationFormat.Binary は互換性のために残されていますが、使用しないでください。 警告
SYSLIB0039 TLS バージョン 1.0 と 1.1 には既知の脆弱性があり、推奨されていません。 代わりに新しいバージョンの TLS を使用するか、SslProtocols.None を使用して OS の既定値に従います。 警告
SYSLIB0040 EncryptionPolicy.NoEncryptionEncryptionPolicy.AllowNoEncryption はセキュリティを大幅に低下させるため、運用環境のコードでは使用しないでください。 警告
SYSLIB0041 Rfc2898DeriveBytes コンストラクターの既定のハッシュ アルゴリズムと反復回数は古く、安全ではありません。 ハッシュ アルゴリズムと反復回数を受け入れるコンストラクターを使用します。 警告
SYSLIB0042 ToXmlString および FromXmlString には楕円曲線暗号 (ECC) 型の実装はなく、廃止されています。 公開キー用のExportSubjectPublicKeyInfoImportSubjectPublicKeyInfo、秘密キー用の ExportPkcs8PrivateKeyImportPkcs8PrivateKey などの標準のインポートおよびエクスポート形式を使用します。 警告
SYSLIB0043 ECDiffieHellmanPublicKey.ToByteArray() および関連付けられたコンストラクターには、すべてのプラットフォームで一貫した相互運用可能な実装がありません。 代わりに ECDiffieHellmanPublicKey.ExportSubjectPublicKeyInfo() を使用してください 警告
SYSLIB0044 AssemblyName.CodeBaseAssemblyName.EscapedCodeBase は非推奨になっています。 警告
SYSLIB0045 アルゴリズム名を受け入れる暗号化ファクトリ メソッドは廃止されました。 代わりに、アルゴリズムの種類に対してパラメーターなしの Create ファクトリ メソッドを使用します。 警告
SYSLIB0047 XmlSecureResolver は互換性のために残されています。 外部 XML リソースの解決を禁止するには、代わりに XmlResolver.ThrowingResolver を使用します。 警告

導入されたバージョン

.NET 7

破壊的変更の種類

この非推奨はソースの互換性に影響を与える可能性があります。

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

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

影響を受ける API

SYSLIB0036

SYSLIB0037

SYSLIB0038

SYSLIB0039

SYSLIB0040

SYSLIB0041

SYSLIB0042

SYSLIB0043

SYSLIB0045

SYSLIB0047

こちらもご覧ください