A small library to support the YAML format for .NET configuration files, nothing else.
$ dotnet add package YamlConfiguration
YamlConfiguration is a small library to support the YAML format for .NET configuration files, nothing else.
Note Package code it's an adaptation of YAML functionality from a popular (but obsolete) FlexibleConfiguration NuGet package. Unlike FlexibleConfiguration it uses .NET native configuration infrastructure and SharpYaml instead of YamlDotNet to support YAML.
install-package YamlConfiguration or dotnet add package YamlConfigurationgit clone git@github.com:RedKorshun/YamlConfiguration.gitExample for console application:
using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace YamlConfigurationHowTo
{
internal sealed class Startup
{
internal static async Task Main(String[] args)
{
IHostBuilder hostBuilder = new HostBuilder()
.ConfigureAppConfiguration(ConfigureConfiguration)
.ConfigureServices(ConfigureServices);
await hostBuilder.RunConsoleAsync();
}
private static void ConfigureConfiguration(IConfigurationBuilder config)
{
config
.SetBasePath(Directory.GetCurrentDirectory())
.AddYamlFile("appsettings.yaml", optional: false) // <-- Exactly what this package provides
;
}
private static void ConfigureServices(IServiceCollection services)
{
services
.AddHostedService<ApplicationManager>() // <-- Your IHostedService implementation
// Your dependency injection bindings
;
}
}
}
Expat for YamlConfiguration and Apache 2.0 for the source code from FlexibleConfiguration.