HostApplicationBuilder接受HostApplicationBuilderSettings对象的构造函数现在应用HostApplicationBuilderSettings.Args属性,无论DisableDefaults是被设置为true还是false。
已引入的版本
.NET 8 预览版 2
以前的行为
以前,设置HostApplicationBuilderSettings.Args为HostApplicationBuilderSettings.DisableDefaults时会忽略true属性。
新行为
从 .NET 8 开始,无论 HostApplicationBuilderSettings.Args 是设置为 HostApplicationBuilder.Configuration 还是 DisableDefaults,true 值都会添加到 false 中。
破坏性变更的类型
此更改为行为更改。
更改原因
忽略 HostApplicationBuilderSettings.Args 的行为是意外的,即使 HostApplicationBuilderSettings.DisableDefaults 设置为 true。 这是因为,如果调用方不希望将命令行参数应用于该 HostApplicationBuilder对象,则它们不会在 HostApplicationBuilderSettings 对象上设置它们。 由于调用方 确实 在设置上传递了命令行参数,因此应尊重这些参数。
建议的措施
如果不希望将命令行参数添加到 HostApplicationBuilder 配置,请将 HostApplicationBuilderSettings.Args 属性设置为 null。