Swap the configuration providers' data atomically, rather than directly changing the property, so that any enumeration of the dictionary running during the reload operation does not throw an InvalidOperationException due to the collection being modified.
Relates to dotnet/extensions#1189.\n\nCommit migrated from 192abfdf3e
* Remove obsolete targets, properties, and scripts
* Replace IsProductComponent with IsShipping
* Undo bad merge to version.props
* Update documentation, and put workarounds into a common file
* Replace usages of RepositoryRoot with RepoRoot
* Remove API baselines
* Remove unnecessary restore feeds and split workarounds into two files
* Enable PR checks on all branches, and disable autocancel\n\nCommit migrated from f41cfded3c
.NET Core 2.0 reached EOL last year. This removes multi-targeting our test projects and test assets to only use .NET Core 2.1 and .NET Framework 4.6.1.\n\nCommit migrated from 084494d21d
Fixesdotnet/extensions#609 by allowing the configuration paths to be associated with values to help with debugging.
\n\nCommit migrated from d7f8e253d4
Partly to allow me to get a better understanding of the code, partly so we can have a better idea that all the providers work in a consistent manner.
Part of https://github.com/aspnet/Configuration/issues/559
I will file issues for things found.
\n\nCommit migrated from 1878d16ecd