Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Certaines API liées à Microsoft.Extensions.Configuration qui étaient marquées comme RequiresUnreferencedCodeAttribute ont également été annotées afin de conserver au moins certains des membres nécessaires lors du rognage. L’API fonctionnait partiellement lors de l'élagage, tout en générant des avertissements d'élagage. Les annotations sont désormais supprimées complètement. Les utilisateurs sont encouragés à migrer vers le générateur de source qui fonctionne de manière fiable avec le rognage.
Version introduite
.NET 10
Comportement précédent
Auparavant, les API affectées fonctionnaient avec certains cas d’usage limités lors de la génération d’avertissements de suppression au moment de la publication. Ces API ont été annotées pour conserver au moins certains des membres nécessaires lors de la réduction, ce qui rend l’API partiellement fonctionnelle dans les scénarios réduits.
Nouveau comportement
À compter de .NET 10, les API affectées fonctionnent désormais avec des cas d’usage encore plus limités tout en générant des avertissements de découpage au moment de la publication.
Type de changement cassant
Cette modification peut affecter la compatibilité binaire.
Raison de la modification
Les annotations ont été supprimées dans le cadre d'un effort visant à éliminer l'utilisation de DynamicallyAccessedMemberTypes.All dans le produit.
Action recommandée
Utilisez le générateur de source de configuration de liaison, qui fonctionne de manière fiable avec le rognage et offre une alternative sûre à ces API.
API affectées
- 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>