You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Config generator overwrites existing properties when provided with empty config section #91380
In a project that I am working on, we have hierarchical configuration. It means that the parent and child config sections can provide same properties.
Following repro shows the issue:
usingMicrosoft.Extensions.Configuration;usingMicrosoft.Extensions.Hosting;namespaceConfigBindRepro{internalclassProgram{staticvoidMain(){HostApplicationBuilderbuilder=Host.CreateEmptyApplicationBuilder(settings:null);builder.Configuration.AddInMemoryCollection(newKeyValuePair<string,string?>[]{new("A:B:ConnectionString","localhost"),});AClassinstance=new();builder.Configuration.GetSection("A:B").Bind(instance);// sets ConnectionString to "localhost"builder.Configuration.GetSection("A").Bind(instance);// source gen: sets ConnectionString to null, reflection: does not change the valueConsole.WriteLine($"The value is '{instance.ConnectionString}'");}}publicclassAClass{publicstring?ConnectionString{get;set;}}}
Activity
layomia commentedon Sep 1, 2023
Need to resolve alongside #86333; same underlying logic.