Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Bestimmte APIs im Zusammenhang mit Microsoft.Extensions.Configuration und der Kennzeichnung RequiresUnreferencedCodeAttribute wurden ebenfalls angemerkt, um beim Kürzen mindestens einige der erforderlichen Mitglieder beizubehalten. Dadurch funktionierte die API beim Kürzen nur teilweise, während weiterhin Warnungen zum Kürzen generiert wurden. Die Anmerkungen werden jetzt vollständig entfernt. Benutzern wird empfohlen, zum Quellgenerator zu migrieren, der zuverlässig mit Kürzungen funktioniert.
Eingeführt in Version
.NET 10
Vorheriges Verhalten
Bisher funktionierten die betroffenen APIs in einigen begrenzten Anwendungsfällen und generierten zur Veröffentlichungszeit Kürzungswarnungen. Diese APIs wurden annotiert, um mindestens einige der erforderlichen Member beim Kürzen beizubehalten, wodurch die API in gekürzten Szenarien teilweise funktional wird.
Neues Verhalten
Ab .NET 10 funktionieren die betroffenen APIs jetzt mit noch eingeschränkterer Anwendungsfälle und generieren weiterhin Kürzungswarnungen beim Veröffentlichen.
Art der einschneidenden Änderung
Diese Änderung kann sich auf die Binäre Kompatibilität auswirken.
Grund für Änderung
Die Anmerkungen wurden im Rahmen der Bemühungen, die Verwendung von DynamicallyAccessedMemberTypes.All aus dem Produkt zu entfernen, beseitigt.
Empfohlene Aktion
Verwenden Sie den Bindungskonfigurations-Quellgenerator, der zuverlässig mit Kürzungen funktioniert und eine kürzungssichere Alternative zu diesen APIs darstellt.
Betroffene APIs
- Microsoft.Extensions.Configuration.ConfigurationBinder.Get(IConfiguration, Type, Action<BinderOptions>)
- Microsoft.Extensions.Configuration.ConfigurationBinder.GetValue(IConfiguration, Type, String)
- Microsoft.Extensions.Configuration.ConfigurationBinder.GetValue(IConfiguration, Type, String, Object)
- Microsoft.Extensions.Configuration.ConfigurationBinder.GetValue<T>(IConfiguration, String)
- Microsoft.Extensions.Configuration.ConfigurationBinder.GetValue<T>(IConfiguration, String, T)
- Microsoft.Extensions.Configuration.ConfigurationBinder.Get<T>(IConfiguration)
- Microsoft.Extensions.Configuration.ConfigurationBinder.Get<T>(IConfiguration, Action<BinderOptions>)
- Microsoft.Extensions.Logging.Configuration.LoggerProviderOptions.RegisterProviderOptions<TOptions,TProvider>(IServiceCollection)
- Microsoft.Extensions.Logging.ConsoleLoggerExtensions.AddConsoleFormatter<TFormatter,TOptions>(ILoggingBuilder)
- Microsoft.Extensions.Logging.ConsoleLoggerExtensions.AddConsoleFormatter<TFormatter,TOptions>(ILoggingBuilder, Action<TOptions>)
- Microsoft.Extensions.DependencyInjection.OptionsBuilderConfigurationExtensions.BindConfiguration<TOptions>(OptionsBuilder<TOptions>, String, Action<BinderOptions>)
- Microsoft.Extensions.DependencyInjection.OptionsBuilderConfigurationExtensions.Bind<TOptions>(OptionsBuilder<TOptions>, IConfiguration)
- Microsoft.Extensions.DependencyInjection.OptionsBuilderConfigurationExtensions.Bind<TOptions>(OptionsBuilder<TOptions>, IConfiguration, Action<BinderOptions>)
- Microsoft.Extensions.DependencyInjection.OptionsConfigurationServiceCollectionExtensions.Configure
- Microsoft.Extensions.Options.ConfigureFromConfigurationOptions<TOptions>
- Microsoft.Extensions.Options.NamedConfigureFromConfigurationOptions<TOptions>