Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A compilação netstandard2.0 do pacote NuGet System.Security.Cryptography.Pkcs versões 9.0.0 a 9.0.2 incluiu APIs que não estão presentes no .NET Framework. Chamar essas APIs de uma biblioteca .NET Standard que é executada no .NET Framework lançará MissingMemberException. Esses membros foram incluídos por engano e foram removidos na versão 9.0.3 do pacote.
Versão introduzida
.NET 9
Comportamento anterior
Ao fazer referência à versão 9.0.0 de System.Security.Cryptography.Pkcs em um projeto destinado a netstandard2.0, a compilação terá êxito ao referenciar a propriedade CmsSigner.PrivateKey. No entanto, se a biblioteca fosse executada no .NET Framework, o acesso à propriedade acionaria um MissingMemberException.
Novo comportamento
O acesso a qualquer um dos membros removidos agora resulta em uma falha de compilação, em vez de uma falha de tempo de execução.
Tipo de mudança de rutura
Esta é uma alteração incompatível de origem .
Motivo da mudança
Os membros foram incluídos acidentalmente devido a uma mudança na forma como o pacote NuGet foi produzido. Como esses membros não podem trabalhar no .NET Framework, eles nunca devem ter sido listados como disponíveis para o .NET Standard 2.0.
Ação recomendada
Se esses membros adicionais forem necessários, compile especificamente para um TFM que os inclua, como net8.0.
APIs afetadas
- 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)