Поделиться через


DynamicallyAccessedMembers заметка удалена из DefaultValueAttribute ctor

Конструктор DefaultValueAttribute.DefaultValueAttribute(Type, String) больше не аннотирован с DynamicallyAccessedMembersAttribute. Этот конструктор не поддерживается при обрезке и вызывает исключение при достижении во время выполнения в обрезаном приложении.

Представленная версия

.NET 10

Предыдущее поведение

Ранее, если конструктор использовался в приложение с включенной обрезкой и использовался флажок функции для отключения генерации исключений, публикация приложения выдавала предупреждение об обрезке, и был шанс, что код работал во время выполнения.

Новое поведение

Начиная с .NET 10, если конструктор используется в обрезаном приложении и параметр функции для отключения исключения используется, публикация приложения по-прежнему создает предупреждение об обрезки. Но есть меньший шанс, что код будет работать во время выполнения.

Тип критического изменения

Это изменение может повлиять на совместимость двоичных файлов и совместимость источников.

Причина изменения

Этот атрибут не следует использовать в обрезаемых приложениях, так как он не работает надежно. Обрезка должна быть свободной, чтобы удалить элементы типа, упомянутые в атрибуте.

Не включите переключатель функций, который пытается сделать DynamicallyAccessedMembersAttribute (ненадежно) работать в обрезаемых приложениях.

Затронутые API