としてマークされたMicrosoft.Extensions.Configurationに関連するRequiresUnreferencedCodeAttribute、トリミング時に必要なメンバーの少なくとも一部が保持されるように注釈が付けられています。 これにより、トリミング時に API が部分的に機能し、トリミングの警告が生成されました。 これで注釈が完全に削除されました。 ユーザーは、トリミングで確実に動作するソース ジェネレーターに移行することをお勧めします。
導入されたバージョン
.NET 10
以前の動作
以前は、 影響を受ける API は 、発行時にトリミングの警告を生成するときに、いくつかの限られたユース ケースで動作していました。 これらの API には、トリミング時に必要なメンバーの少なくとも一部が保持されるように注釈が付けられていたため、トリミングされたシナリオで API が部分的に機能します。
新しい動作
.NET 10 以降、 影響を受ける API は 、発行時にトリミングの警告を生成しながら、さらに限定的なユース ケースで動作するようになりました。
破壊的変更の種類
この変更は 、バイナリの互換性に影響する可能性があります。
変更の理由
注釈は、製品から DynamicallyAccessedMemberTypes.All の使用を削除する取り組みの一環として削除されました。
推奨されるアクション
バインディング構成ソース ジェネレーターを使用します。このジェネレーターはトリミングで確実に機能し、これらの API に代わるトリミング セーフな代替手段を提供します。
影響を受ける API
- 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>
.NET