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
。