Udostępnij przez


DynamicallyAccessedMembers adnotacja usunięta z DefaultValueAttribute ctor

Konstruktor DefaultValueAttribute.DefaultValueAttribute(Type, String) nie jest już adnotacjami z DynamicallyAccessedMembersAttribute. Ten konstruktor nie jest obsługiwany z użyciem trimmingu i zgłasza wyjątek podczas wykonywania w przyciętej aplikacji.

Wprowadzona wersja

.NET 10

Poprzednie zachowanie

Wcześniej, jeśli konstruktor był używany w przyciętej aplikacji i przełącznik funkcji w celu wyłączenia zgłaszania wyjątków został użyty, opublikowanie aplikacji wygenerowało ostrzeżenie przycinania i istniało prawdopodobieństwo, że kod zadziałał w czasie wykonywania.

Nowe zachowanie

Począwszy od platformy .NET 10, jeśli konstruktor jest używany w przyciętej aplikacji, a przełącznik funkcji wyłącza wyjątek zgłaszany jest używany, publikowanie aplikacji nadal generuje ostrzeżenie dotyczące przycinania. Istnieje jednak mniejsze prawdopodobieństwo, że kod będzie działać w czasie wykonywania.

Typ zmiany powodującej niezgodność

Ta zmiana może mieć wpływ na zgodność binarną i zgodność ze źródłem.

Przyczyna zmiany

Ten atrybut nie powinien być używany w przycinanych aplikacjach, ponieważ nie działa niezawodnie. Przycinanie powinno być bezpłatne, aby usunąć elementy członkowskie typu wymienione w atrybucie.

Nie włączaj przełącznika funkcji, który próbuje wykonać DynamicallyAccessedMembersAttribute (niewiarygodnie) pracę w przyciętych aplikacjach.

Interfejsy API, których dotyczy problem