Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Vissa API:er som är relaterade till Microsoft.Extensions.Configuration har markerats som RequiresUnreferencedCodeAttribute kommenterades också för att bevara minst några av de nödvändiga medlemmarna vid trimning. Detta gjorde att API:et delvis fungerade vid trimning, samtidigt som trimningsvarningar genererades. Anteckningarna tas nu bort helt. Användarna uppmanas att migrera till källgeneratorn som pålitligt fungerar med trimning.
Version lanserad
.NET 10
Tidigare beteende
Tidigare arbetade de berörda API:erna med vissa begränsade användningsfall och genererade trimningsvarningar vid publiceringstillfället. Dessa API:er kommenterades för att bevara åtminstone några av de nödvändiga medlemmarna vid trimning, vilket gör att API:et delvis fungerar i trimmade scenarier.
Nytt beteende
Från och med .NET 10 fungerar de berörda API:erna nu med ännu mer begränsade användningsfall och genererar fortfarande trimningsvarningar vid publiceringstillfället.
Typ av brytande ändring
Den här ändringen kan påverka binär kompatibilitet.
Orsak till ändring
Anteckningarna togs bort som en del av ett försök att ta bort användning av DynamicallyAccessedMemberTypes.All från produkten.
Rekommenderad åtgärd
Använd en source generator för bindningskonfiguration som fungerar tillförlitligt med trimning och erbjuder ett trimsäkert alternativ till dessa API:er.
Berörda API:er
- 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>