API удалены из System.Security.Cryptography.Pkcs netstandard2.0

Сборка 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