This is a umbrella package for two seperate packages
- Extensions.Configuration.Sources.Objects
- Extensions.Configuration.Resolver
dotnet add package Extensions.ConfigurationThis package adds functionality to Microsoft.Extensions.Configuration, to use objects as configuration source.
dotnet add package Microsoft.Extensions.Configuration
dotnet add package Extensions.Configuration.Sources.ObjectsusingMicrosoft.Extensions.Configuration;varconfiguration=newConfigurationBuilder.AddObject(new{K1="V1"}).Build();varval=configuration["K1"];// Returns "V1"Nesting is supported
varconfiguration=newConfigurationBuilder.AddObject(new{K1=new{K2="V1"}}}).Build();varval=configuration["K1:K2"];// Returns "V1"This package adds functionality to Microsoft.Extensions.Configuration, to resolve substitutions within configuration entries.
dotnet add package Microsoft.Extensions.Configuration
dotnet add package Extensions.Configuration.ResolverExamplary json configuration:
{
"AppName": "MyApp",
"UserSettings": "${HOMEPATH}/.{$env:AppName}/settings.json"
}usingMicrosoft.Extensions.Configuration;varconfiguration=newConfigurationBuilder.AddJsonFile(...).AddEnvironmentVariables().Build();varuserSettingsResolved=configuration.ResolveValue("UserSettings");// Returns e.g.: "C:\Users\MyUser\.MyApp\settings.json"Supported placeholders:
{$env:KEY}, ${KEY}, $(KEY), %KEY%