Udostępnij przez


API usunięte z biblioteki System.Security.Cryptography.Pkcs netstandard2.0

Kompilacja netstandard2.0 pakietu System.Security.Cryptography.Pkcs NuGet w wersji 9.0.0 do 9.0.2 zawiera interfejsy API, które nie są obecne w programie .NET Framework. Wywołanie tych interfejsów API z biblioteki .NET Standard, która działa na .NET Framework, spowoduje wyrzucenie MissingMemberException. Ci członkowie zostali błędnie włączeni i zostali usunięci w wersji 9.0.3 pakietu.

Wprowadzona wersja

.NET 9

Poprzednie zachowanie

Podczas odwoływania się do wersji 9.0.0 System.Security.Cryptography.Pkcs w projekcie, którego celem jest netstandard2.0, kompilacja zakończy się pomyślnie przy odwołaniu się do właściwości CmsSigner.PrivateKey. Jeśli jednak biblioteka została uruchomiona na platformie .NET Framework, uzyskanie dostępu do właściwości spowoduje wyzwolenie MissingMemberException.

Nowe zachowanie

Uzyskanie dostępu do dowolnego usuniętego elementu członkowskiego powoduje teraz niepowodzenie kompilacji, a nie niepowodzenie środowiska uruchomieniowego.

Typ zmiany powodującej niezgodność

Jest to zmiana niezgodna ze źródłem .

Przyczyna zmiany

Członkowie zostali przypadkowo dołączeni z powodu zmiany sposobu tworzenia pakietu NuGet. Ponieważ ci członkowie nie mogą pracować w programie .NET Framework, nigdy nie powinni być wyświetlani jako dostępne dla platformy .NET Standard 2.0.

Jeśli te dodatkowe składniki są potrzebne, skompiluj je specjalnie dla TFM, który je zawiera, na przykład net8.0.

Interfejsy API, których dotyczy problem