ByteDev.Configuration
1.0.0
See the version list below for details.
dotnet add package ByteDev.Configuration --version 1.0.0
NuGet\Install-Package ByteDev.Configuration -Version 1.0.0
<PackageReference Include="ByteDev.Configuration" Version="1.0.0" />
paket add ByteDev.Configuration --version 1.0.0
#r "nuget: ByteDev.Configuration, 1.0.0"
// Install ByteDev.Configuration as a Cake Addin
#addin nuget:?package=ByteDev.Configuration&version=1.0.0
// Install ByteDev.Configuration as a Cake Tool
#tool nuget:?package=ByteDev.Configuration&version=1.0.0
ByteDev.Configuration
A collection of classes to help retrieve settings from App.config files in .NET.
Installation
ByteDev.Configuration has been written as a .NET Standard 2.0 library, so you can consume it from a .NET Core or .NET Framework 4.6.1 (or greater) application.
ByteDev.Configuration is hosted as a package on nuget.org. To install from the Package Manager Console in Visual Studio run:
Install-Package ByteDev.Configuration
Further details can be found on the nuget page.
Code
The repo can be cloned from git bash:
git clone https://github.com/ByteDev/ByteDev.Configuration
Usage
Functionality is in three main areas:
- Config Sections & Settings
- App Settings
- Connection Settings
Config Sections & Settings
Example config:
<configSections>
<section name="Health" requirePermission="false" type="System.Configuration.NameValueSectionHandler,System,Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
<Health>
<add key="EnableAssessmentOnStart" value="false" />
</Health>
Simple usage:
var sectionProvider = new ConfigSectionProvider();
var settingsProvider = new ConfigSettingsProvider(sectionProvider);
bool value = settingsProvider.GetBool("EnableAssessment", "Health");
For tidiness you can then wrap the use of ConfigSettingsProvider in your own config class:
public class MyConfig
{
private readonly IConfigSettingsProvider _provider;
public MyConfig(IConfigSettingsProvider provider)
{
_provider = provider;
}
public bool EnableAssessment
{
get { return _provider.GetBool("EnableAssessment", "Health") }
}
}
This will lead to the following stack:
MyConfig
-> ConfigSettingsProvider
--> ConfigProvider
---> System.Configuration.ConfigurationManager
App Settings
Example config:
<appSettings>
<add key="ClientRetries" value="5"/>
</appSettings>
Simple usage:
var provider = new AppSettingsProvider();
int value = provider.GetInt("ClientRetries");
Connection Settings
Example config:
<connectionStrings>
<add name="MyDb" connectionString="Data Source=.;Initial Catalog=MyDb;Integrated Security=True" />
</connectionStrings>
Simple usage:
var provider = new ConnectionSettingsProvider();
var connSettings = provider.GetConnectionSettings("MyDb");
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
- System.Configuration.ConfigurationManager (>= 4.5.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.