Compartir a través de


DynamicallyAccessedMembers anotación quitada de DefaultValueAttribute ctor

El DefaultValueAttribute.DefaultValueAttribute(Type, String) constructor ya no está anotado con DynamicallyAccessedMembersAttribute. Este constructor no es compatible con la eliminación de partes innecesarias y lanza una excepción si se ejecuta en tiempo de ejecución en una aplicación recortada.

Versión introducida

.NET 10

Comportamiento anterior

Si anteriormente se utilizaba el constructor en una aplicación recortada y se usaba el interruptor de funcionalidad para deshabilitar el lanzamiento de excepciones, la publicación de la aplicación generaba una advertencia de eliminación y existía la posibilidad de que el código funcionara en tiempo de ejecución.

Nuevo comportamiento

A partir de .NET 10, si el constructor se usa en una aplicación recortada y se usa el modificador de características para deshabilitar la iniciación de excepciones, la publicación de la aplicación sigue generando una advertencia de recorte. Pero hay una posibilidad más pequeña de que el código funcione en tiempo de ejecución.

Tipo de cambio importante

Este cambio puede afectar a la compatibilidad binaria y a la compatibilidad de origen.

Razón del cambio

Este atributo no se debe usar en aplicaciones recortadas porque no funciona de forma confiable. El recorte debe ser libre para quitar miembros de tipo mencionados en el atributo .

No habilite el modificador de características que intenta realizar DynamicallyAccessedMembersAttribute (indistintamente) el trabajo en aplicaciones recortadas.

API afectadas