Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сборка netstandard2.0 пакета NuGet System.Security.Cryptography.Pkcs версии с 9.0.0 по 9.0.2 включала API, которые отсутствуют в .NET Framework. Вызов этих API из библиотеки .NET Standard, работающей в .NET Framework, вызовет MissingMemberException. Эти члены были ошибочно включены, но удалены в версии 9.0.3 пакета.
Представленная версия
.NET 9
Предыдущее поведение
При ссылке на версию 9.0.0 System.Security.Cryptography.Pkcs в проекте netstandard2.0компиляция будет выполнена успешно при ссылке на свойство CmsSigner.PrivateKey. Однако если библиотека запущена в .NET Framework, доступ к свойству активирует MissingMemberException.
Новое поведение
Доступ к любому из удаленных элементов теперь приводит к сбою компиляции, а не сбою среды выполнения.
Тип изменения, нарушающего совместимость
Это изменение несовместимого источника.
Причина изменения
Члены были случайно включены из-за изменений в процессе производства пакета NuGet. Так как эти члены не могут работать в .NET Framework, они никогда не должны быть указаны как доступные для .NET Standard 2.0.
Рекомендуемое действие
Если эти дополнительные члены необходимы, скомпилируйте специально для TFM, который включает их, например net8.0.
Затронутые 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)