Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Некоторые API , связанные с 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>