-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[release/7.0] Fix Configuration Binding with Instantiated Objects #81250
Conversation
Tagging subscribers to this area: @dotnet/area-extensions-configuration Issue DetailsBackport of #81050 to release/7.0 /cc @tarekgh Customer ImpactTestingRiskIMPORTANT: Is this backport for a servicing release? If so and this change touches code that ships in a NuGet package, please make certain that you have added any necessary package authoring and gotten it explicitly reviewed.
|
This is approved offline by e-mail. |
<ServicingVersion>4</ServicingVersion> | ||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, thanks for adding the change. I'll keep in mind when doing branding that GeneratePackageOnBuild was already set to true from the previous servicing release, so I don't reset it.
Edit: Here's the branding PR. I did not reset that package: #81777
Approved by Tactics for 7.0.4. |
Fixes #79766
Backport of #81050 to release/7.0
/cc @tarekgh
Customer Impact
When apps/services bind a configuration to a collection which is created with specific behavior (like storing elements with ignore casing to avoid duplicate items differ only in casing), the configuration binder replaces this created collection with a newly created one which not necessarily have same behavior (ignore casing). This causes the apps ends up with a collection containing a list of unexpected items which causes failures to the apps as the app getting unexpected collection elements.
This is a regression from .NET 6.0.
Testing
Done manual tests with all different types of collections. The changes passed all regression tests. Also, more tests are added for the cases we are fixing.
Risk
Medium, I scoped the changes as much as I could while ensuring I addressed the issues we are trying to fix.
IMPORTANT: Is this backport for a servicing release? If so and this change touches code that ships in a NuGet package, please make certain that you have added any necessary package authoring and gotten it explicitly reviewed.