ByteDev.Configuration 1.0.0

A collection of classes to help retrieve settings from App.config files in .NET.

Install-Package ByteDev.Configuration -Version 1.0.0
dotnet add package ByteDev.Configuration --version 1.0.0
<PackageReference Include="ByteDev.Configuration" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ByteDev.Configuration --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

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");

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");

Version History

Version Downloads Last updated
1.0.0 144 9/5/2018