netstandard2.0
NuGet パッケージ バージョン 9.0.0 から 9.0.2 の System.Security.Cryptography.Pkcs
ビルドには、.NET Framework に存在しない API が含まれていました。 .NET Framework で実行される .NET Standard ライブラリからこれらの API を呼び出すと、MissingMemberException がスローされます。 これらのメンバーは誤って含まれており、パッケージのバージョン 9.0.3 で削除されました。
導入されたバージョン
.NET 9
以前の動作
System.Security.Cryptography.Pkcs
をターゲットとするプロジェクトでバージョン 9.0.0 netstandard2.0
参照すると、CmsSigner.PrivateKey プロパティを参照するときにコンパイルが成功します。 ただし、ライブラリが .NET Framework で実行されている場合、プロパティにアクセスすると MissingMemberExceptionがトリガーされます。
新しい動作
削除されたメンバーのいずれかにアクセスすると、ランタイム エラーではなくコンパイル エラーが発生するようになりました。
破壊的変更の種類
これは、ソースの互換性のない 変更です。
変更の理由
NuGet パッケージの生成方法が変更されたため、メンバーが誤って含まれていました。 これらのメンバーは .NET Framework で動作できないため、.NET Standard 2.0 で使用できるメンバーとして一覧表示されるべきではありません。
推奨されるアクション
これらの追加メンバーが必要な場合は、net8.0
など、それらを含む TFM 用にコンパイルします。
影響を受ける API
- CmsSigner
- System.Security.Cryptography.Pkcs.CmsSigner.PrivateKey
- System.Security.Cryptography.Pkcs.CmsSigner.SignaturePadding
- System.Security.Cryptography.Pkcs.ContentInfo.GetContentType(ReadOnlySpan<Byte>)
- System.Security.Cryptography.Pkcs.EnvelopedCms.Decode(ReadOnlySpan<Byte>)
- System.Security.Cryptography.Pkcs.EnvelopedCms.Decrypt(RecipientInfo, AsymmetricAlgorithm)
- System.Security.Cryptography.Pkcs.SignedCms.AddCertificate(X509Certificate2)
- System.Security.Cryptography.Pkcs.SignedCms.Decode(ReadOnlySpan<Byte>)
- System.Security.Cryptography.Pkcs.SignedCms.RemoveCertificate(X509Certificate2)
- System.Security.Cryptography.Pkcs.SignerInfo.AddUnsignedAttribute(AsnEncodedData)
- System.Security.Cryptography.Pkcs.SignerInfo.SignatureAlgorithm
- System.Security.Cryptography.Pkcs.SignerInfo.GetSignature()
- System.Security.Cryptography.Pkcs.SignerInfo.RemoveUnsignedAttribute(AsnEncodedData)
- System.Security.Cryptography.Pkcs.SubjectIdentifier.MatchesCertificate(X509Certificate2)
.NET