TheKrystalShip.Tools.Configuration
1.0.2
dotnet add package TheKrystalShip.Tools.Configuration --version 1.0.2
NuGet\Install-Package TheKrystalShip.Tools.Configuration -Version 1.0.2
<PackageReference Include="TheKrystalShip.Tools.Configuration" Version="1.0.2" />
paket add TheKrystalShip.Tools.Configuration --version 1.0.2
#r "nuget: TheKrystalShip.Tools.Configuration, 1.0.2"
// Install TheKrystalShip.Tools.Configuration as a Cake Addin
#addin nuget:?package=TheKrystalShip.Tools.Configuration&version=1.0.2
// Install TheKrystalShip.Tools.Configuration as a Cake Tool
#tool nuget:?package=TheKrystalShip.Tools.Configuration&version=1.0.2
TheKrystalShip.Tools.Configuration
This library is a static wrapper around Microsoft.Extensions.IConfiguration
, exposing exisitng methods through a static Configuration
class.
Configuration
only works with .json
files for now.
Usage
There's a couple methods in the Configuration
class that need to be called at startup, shown below.
1. Setting the base path
Configuration.SetBasePath(Path.Combine("path", "to", "config", "files"));
2. Adding configuration files
Just specify the file name, they are added as
optional
withreloadOnChange
set to true
Configuration.AddFiles("file1.json", "file2.json", ...);
Using the
ConfigurationFile
class
// ConfigurationFile[]
Configuration.AddFiles(new ConfigurationFile[] {
new ConfigurationFile("file1.json", optional: true, reloadOnChange: false),
new ConfigurationFile("file2.json", optional: false, reloadOnChange: true),
// etc
});
// IEnumerable<ConfigrationFile>
Configration.AddFiles(new List<ConfigurationFile> { new ConfigurationFile(path: "file1.json", optional: true, reloadOnChange: true) });
// ConfigurationFile
Configuration.AddFile(new ConfigurationFile(path: "file1.json", optional: true, reloadOnChange: true));
Read value
string myValue = Configuration.Get("someKey");
Set value
Configuration.Set("someKey", "myNewValue")
Here's a list of all methods that Configuration
offers:
void SetBasePath(string path);
void AddFiles(params string[] files);
void AddFiles(params ConfigurationFiles[] files);
void AddFiles(IEnumerable<ConfigurationFile> files);
string Get(string key);
void Set(string key, string newValue);
string GetConnectionString(string key);
IConfigurationSection GetSection(string key);
IEnumerable<IConfigurationSection> GetChildren();
IChangeToken GetReloadToken();
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Extensions.Configuration (>= 2.2.0)
- Microsoft.Extensions.Configuration.Json (>= 2.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.2 | 1,227 | 2/17/2019 |
Added ConfigurationFile class to allow per-file path, optional and reloadOnChange properties.
Added a couple method overloads to Configuration.AddFiles(); that use either an array or a IEnumerable<> of ConfigurationFile.
Added single Configuration.AddFile(); method accepting a ConfigurationFile instance.